-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022 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
class OCCViewer_Viewer;
class OCCViewer_CubeAxesDlg;
class QtxAction;
-class gp_XYZ;
struct viewAspect
{
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(),
Q_OBJECT
public:
- enum { 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,
+ 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,
+ 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 SUIT_CameraProperties cameraProperties();
+ bool isActionVisible( ActionId theId ) const;
+ void setActionVisible( ActionId theId, bool isVisible );
+
+ void resetState();
+
public slots:
virtual void onFrontView();
virtual void onViewFitAll();
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();
void vpMouseReleaseEvent(QMouseEvent* theEvent);
void vpMouseMoveEvent(QMouseEvent* theEvent);
- void resetState();
void drawRect();
void endDrawRect();
bool computeGravityCenter( double& theX, double& theY, double& theZ );
- bool computeGravityCenter1(gp_XYZ& gravityCenter);
-
- void ProjAndPanToGravity(V3d_TypeOfOrientation CamOri);
+ void projAndPanToGravity(V3d_TypeOfOrientation CamOri);
virtual void onSketchingStarted();
virtual void onSketchingFinished();