-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
class SUIT_Desktop;
class OCCViewer_ViewPort3d;
class OCCViewer_ViewSketcher;
+class OCCViewer_AutoRotate;
class OCCViewer_AxialScaleDlg;
class OCCViewer_SetRotationPointDlg;
class OCCViewer_Viewer;
double scaleY;
double scaleZ;
QString name;
+ // trihedron
bool isVisible;
double size;
+ // view cube
+ bool vcIsVisible;
// graduated trihedron
bool gtIsVisible;
bool gtDrawNameX;
name(),
isVisible( false ),
size( 0.0 ),
+ vcIsVisible( false ),
gtIsVisible( false ),
gtDrawNameX( false ), gtDrawNameY( false ), gtDrawNameZ( false ),
gtNameX(), gtNameY(), gtNameZ(),
public:
enum ActionId { DumpId, FitAllId, FitRectId, FitSelectionId, ZoomId, PanId, GlobalPanId,
- ChangeRotationPointId, RotationId,
- FrontId, BackId, TopId, BottomId, LeftId, RightId, ClockWiseId, AntiClockWiseId,
- ResetId, CloneId, ClippingId, MemId, RestoreId,
- TrihedronShowId, AxialScaleId, GraduatedAxesId, AmbientId,
- SwitchInteractionStyleId, SwitchZoomingStyleId,
- SwitchPreselectionId, SwitchSelectionId,
- MaximizedId, SynchronizeId, ReturnTo3dViewId,
- OrthographicId, PerspectiveId, StereoId, RayTracingId, EnvTextureId, LightSourceId,
- UserId };
-
- enum OperationType{ NOTHING, PANVIEW, ZOOMVIEW, ROTATE,
+ ChangeRotationPointId, RotationId,
+ FrontId, BackId, TopId, BottomId, LeftId, RightId, ClockWiseId, AntiClockWiseId,
+ ResetId, CloneId, ClippingId, MemId, RestoreId,
+ TrihedronShowId, AxialScaleId, GraduatedAxesId, AmbientId,
+ SwitchInteractionStyleId, SwitchZoomingStyleId,
+ SwitchPreselectionId, SwitchSelectionId,
+ MaximizedId, SynchronizeId, ReturnTo3dViewId,
+ OrthographicId, PerspectiveId, StereoId, RayTracingId, EnvTextureId, LightSourceId,
+ RectangleSelectionStyleId, PolygonSelectionStyleId, CircleSelectionStyleId,
+ ViewCubeShowId,
+ UserId };
+
+ enum OperationType{ NOVIEWOP, PANVIEW, ZOOMVIEW, ROTATE,
PANGLOBAL, WINDOWFIT, FITALLVIEW, FITSELECTION, RESETVIEW,
FRONTVIEW, BACKVIEW, TOPVIEW, BOTTOMVIEW, LEFTVIEW, RIGHTVIEW,
CLOCKWISEVIEW, ANTICLOCKWISEVIEW, PROJECTION };
enum SketchingType { NoSketching, Rect, Polygon };
+ enum SelectionStyle { RectStyle, PolygonStyle, CyrcleStyle };
+
enum Mode2dType { No2dMode, XYPlane, XZPlane, YZPlane };
enum ProjectionType { Orthographic, Perspective, Stereo };
virtual void setVisualParameters( const QString& parameters );
virtual void initSketchers();
- virtual OCCViewer_ViewSketcher* getSketcher( const int );
+ virtual OCCViewer_ViewSketcher* getSketcher( const int ) const;
virtual void activateSketching( int );
virtual int projectionType() const;
virtual void setProjectionType( int );
+ virtual SelectionStyle selectionStyle() const;
+ virtual void setSelectionStyle(SelectionStyle);
+
virtual int stereoType() const;
virtual void setStereoType( const int );
virtual bool isAutomaticZoom() const;
virtual void setAutomaticZoom( const bool );
+ virtual void enableAutoRotation( const bool );
+
void setTransformEnabled( const OperationType, const bool );
bool transformEnabled( const OperationType ) const;
virtual void onMemorizeView();
virtual void onRestoreView();
virtual void onTrihedronShow(bool);
+ virtual void onViewCubeShow(bool);
virtual void setRestoreFlag();
virtual void onSwitchInteractionStyle( bool on );
virtual void onSwitchZoomingStyle( bool on );
virtual void onSwitchPreselection( bool on );
virtual void onSwitchSelection( bool on );
+ virtual void onSwitchSelectionStyle(QAction* theAction);
virtual void onRayTracing();
virtual void onEnvTexture();
virtual void onLightSource();
gp_Pnt mySelectedPoint;
bool myRotationPointSelection;
- int myRestoreFlag;
+ int myRestoreFlag;
- int myStartX;
- int myStartY;
- int myCurrX;
- int myCurrY;
+ int myStartX;
+ int myStartY;
+ qint64 myStartTime;
+ int myCurrX;
+ int myCurrY;
+ qint64 myCurrTime;
bool myEventStarted; // set when transformation is in process
bool myCursorIsHand;
QtxRectRubberBand* myRectBand; //!< selection rectangle rubber band
+ OCCViewer_AutoRotate *myAutoRotate;
+
bool mySelectionEnabled;
bool myPreselectionEnabled;
int myInteractionStyle;