X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_IViewer.h;h=3c8f67653432a316a5c6534eb9243f81039c6713;hb=fb22ba72114328242bb0bd465abbca43321dcfe4;hp=b4c37edd5c1366888fc0118d5138b2d96c67c966;hpb=1a0d48211014d96db9125fe973eacbae895c4490;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_IViewer.h b/src/ModuleBase/ModuleBase_IViewer.h index b4c37edd5..3c8f67653 100644 --- a/src/ModuleBase/ModuleBase_IViewer.h +++ b/src/ModuleBase/ModuleBase_IViewer.h @@ -50,6 +50,9 @@ Q_OBJECT //! Returns true if multiselection is enabled virtual bool isMultiSelectionEnabled() const = 0; + //! Enable or disable draw mode in the viewer + virtual bool enableDrawMode(bool isEnabled) = 0; + //! Perfroms the fit all for the active view virtual void fitAll() = 0; @@ -57,7 +60,9 @@ Q_OBJECT /// \param theX the X projection value /// \param theY the Y projection value /// \param theZ the Z projection value - virtual void setViewProjection(double theX, double theY, double theZ) = 0; + /// \param theTwist the twist angle in radians + virtual void setViewProjection( double theX, double theY, double theZ, + double theTwist ) = 0; /// Add selection filter to the viewer /// \param theFilter a selection filter @@ -77,6 +82,8 @@ Q_OBJECT /// Update current viewer virtual void update() = 0; + /// Returns a scale factor of the given view + /// \param theView a view object const double Scale(const Handle(V3d_View)& theView) { if (!myWindowScale.contains(theView)) @@ -84,13 +91,16 @@ Q_OBJECT return myWindowScale[theView]; } + /// Remember a scale factor for the view object + /// \param theView a view object + /// \param theVal a scale factor void SetScale(const Handle(V3d_View)& theView, const double theVal) { myWindowScale[theView] = theVal; } /// Method returns True if the viewer can process editing objects /// by mouse drugging. If this is impossible thet it has to return False. virtual bool canDragByMouse() const { return true; } - // Fit all along Z (perpendicular to display) + /// Fit all along Z (perpendicular to display) virtual void Zfitall() = 0; signals: @@ -138,6 +148,7 @@ signals: void viewTransformed(int theTransformation); protected: + /// A map for storing a scale factors dependent on view object QMap myWindowScale; };