-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include <V3d_View.hxx>
#include <AIS_Trihedron.hxx>
#include <AIS_InteractiveContext.hxx>
-#include <Basics_OCCTVersion.hxx>
#include <Graphic3d_SequenceOfHClipPlane.hxx>
class QKeyEvent;
class SUIT_Desktop;
class OCCViewer_ClippingDlg;
class OCCViewer_ViewWindow;
+class OCCViewer_ViewPort3d;
class AIS_ListOfInteractive;
Corner3Gradient, Corner4Gradient,
LastGradient = Corner4Gradient
};
+ /*! supported stereo types */
+ enum {
+ QuadBufferType, AnaglyphType,
+ RowInterlacedType, ColumnInterlacedType,
+ ChessBoardType, SideBySideType,
+ OverUnderType
+ };
static QString Type() { return "OCCViewer"; }
static QString backgroundData( QStringList&, QIntList&, QIntList& );
+ static void stereoData( QStringList&, QIntList&);
OCCViewer_Viewer( bool DisplayTrihedron = true);
virtual ~OCCViewer_Viewer();
void performSelectionChanged();
// emit signal selectionChanged
+ void setDefaultLights();
+
QColor backgroundColor() const; // obsolete
void setBackgroundColor( const QColor& ); // obsolete
Qtx::BackgroundData background() const;
bool trihedronRelative() const {return myIsRelative; }
- // a utility function, used by SALOME_View_s methods
+ // a utility functions, used by SALOME_View_s methods
bool computeTrihedronSize( double& theNewSize, double& theSize );
+ virtual double computeSceneSize(const Handle(V3d_View)&) const;
void updateTrihedron();
public:
Handle(V3d_Viewer) getViewer3d() const { return myV3dViewer;}
-#if OCC_VERSION_LARGE <= 0x06060000
- Handle(V3d_Viewer) getCollector3d() const { return myV3dCollector; }
-#endif
Handle(AIS_InteractiveContext) getAISContext() const { return myAISContext; }
Handle(AIS_Trihedron) getTrihedron() const { return myTrihedron; }
int interactionStyle() const;
void setInteractionStyle( const int );
+ int projectionType() const;
+ void setProjectionType( const int );
+ int stereoType() const;
+ void setStereoType( const int );
+
+ int anaglyphFilter() const;
+ void setAnaglyphFilter( const int );
+
+ void setStereographicFocus( const int, const double );
+ int stereographicFocusType() const;
+ double stereographicFocusValue() const;
+
+ void setInterocularDistance( const int, const double );
+ int interocularDistanceType() const;
+ double interocularDistanceValue() const;
+
+ bool isReverseStereo() const;
+ void setReverseStereo( const bool );
+
+ bool isVSync() const;
+ void setVSync( const bool );
+
+ bool isQuadBufferSupport() const;
+ void setQuadBufferSupport( const bool );
int zoomingStyle() const;
void setZoomingStyle( const int );
void enableMultiselection(bool isEnable);
bool isMultiSelectionEnabled() const { return myMultiSelectionEnabled; }
+ bool enableDrawMode( bool on );
+
+ void setClippingColor( const QColor& );
+ QColor clippingColor() const;
+
+ void setClippingTextureParams( const bool, const QString&, const bool, const double );
+ bool isDefaultTextureUsed() const;
+ QString clippingTexture() const;
+ bool isTextureModulated() const;
+ double clippingTextureScale() const;
+
int getSelectionCount() const { return (!myAISContext.IsNull())? myAISContext->NbSelected():0; }
- bool isStaticTrihedronDisplayed() { return myShowStaticTrihedron; }
void setStaticTrihedronDisplayed(const bool on);
/* Clip planes management */
+ Handle(Graphic3d_ClipPlane) createClipPlane(const gp_Pln& thePlane, const Standard_Boolean theIsOn);
void setClipPlanes (ClipPlanesList theList);
ClipPlanesList getClipPlanes() const;
void applyExistingClipPlanesToObject (const Handle(AIS_InteractiveObject)& theObject);
virtual void onMouseMove(SUIT_ViewWindow*, QMouseEvent*);
virtual void onMouseRelease(SUIT_ViewWindow*, QMouseEvent*);
virtual void onKeyPress(SUIT_ViewWindow*, QKeyEvent*);
- virtual void onViewClosed();
- virtual void onViewMapped();
+ virtual void onViewClosed(OCCViewer_ViewPort3d*);
+ virtual void onViewMapped(OCCViewer_ViewPort3d*);
void onDumpView();
void onChangeBackground();
protected:
- Handle(V3d_Viewer) myV3dViewer;
-
-#if OCC_VERSION_LARGE <= 0x06060000
- Handle(V3d_Viewer) myV3dCollector;
-#endif
+ Handle(V3d_Viewer) myV3dViewer;
Handle(AIS_Trihedron) myTrihedron;
Handle(AIS_InteractiveContext) myAISContext;
int myInteractionStyle;
int myZoomingStyle;
+ int myProjectionType;
+ int myStereoType;
+ int myAnaglyphFilter;
+ int myStereographicFocusType;
+ int myInterocularDistanceType;
+
+ double myStereographicFocusValue;
+ double myInterocularDistanceValue;
bool myPreselectionEnabled;
bool mySelectionEnabled;
bool myMultiSelectionEnabled;
bool myIsRelative;
+ bool myToReverseStereo;
+ bool myVSyncMode;
+ bool myQuadBufferSupport;
int myTopLayerId;
//QColor myBgColor;
QPoint myStartPnt, myEndPnt, myCurPnt;
- bool myShowStaticTrihedron;
-
double myTrihedronSize;
QVector<Qtx::BackgroundData> myBackgrounds;
ClipPlanesList myClipPlanes;
Graphic3d_SequenceOfHClipPlane myInternalClipPlanes;
+
+ QColor myClippingColor;
+ bool myDefaultTextureUsed;
+ QString myClippingTexture;
+ bool myTextureModulated;
+ double myClippingTextureScale;
+
};
#ifdef WIN32