X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OperationSketch.h;h=eb3fa84f4a182368c025a3d64b05881d1ea6ecfa;hb=d09c80de35c59f76714c776b456ce436409f9a3c;hp=eb0c8477542a5aaeb8e295da6ed4d3f8ced79c9a;hpb=3868952ce179012a7ca56f6c8d1f271ecdb17f73;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationSketch.h b/src/PartSet/PartSet_OperationSketch.h index eb0c84775..eb3fa84f4 100644 --- a/src/PartSet/PartSet_OperationSketch.h +++ b/src/PartSet/PartSet_OperationSketch.h @@ -12,21 +12,25 @@ #include #include +#include class Handle_AIS_InteractiveObject; /*! \class PartSet_OperationSketch * \brief The operation for the sketch feature creation -*/ + */ class PARTSET_EXPORT PartSet_OperationSketch : public PartSet_OperationSketchBase { - Q_OBJECT -public: +Q_OBJECT + public: /// Returns the operation type key - static std::string Type() { return SKETCH_KIND; } + static std::string Type() + { + return SketchPlugin_Sketch::ID(); + } -public: + public: /// Constructor /// \param theId the feature identifier /// \param theParent the operation parent @@ -34,39 +38,33 @@ public: /// Destructor virtual ~PartSet_OperationSketch(); - /// Returns the operation local selection mode - /// \param theFeature the feature object to get the selection mode - /// \return the selection mode - virtual std::list getSelectionModes(FeaturePtr theFeature) const; + /// Returns True if the given operation is a Sketcher operation + virtual bool isGranted(ModuleBase_Operation* theOperation) const; - /// Initializes the operation with previously created feature. It is used in sequental operations - virtual void initFeature(FeaturePtr theFeature); /// Returns the operation sketch feature /// \returns the sketch instance - virtual FeaturePtr sketch() const; + virtual CompositeFeaturePtr sketch() const; /// Processes the mouse pressed in the point /// \param theEvent the mouse event /// \param theView a viewer to have the viewer the eye position /// \param theSelected the list of selected presentations /// \param theHighlighted the list of highlighted presentations - virtual void mousePressed(QMouseEvent* theEvent, Handle_V3d_View theView, - const std::list& theSelected, - const std::list& theHighlighted); + virtual void mousePressed(QMouseEvent* theEvent, ModuleBase_IViewer* theViewer, ModuleBase_ISelection* theSelection); + /// Processes the mouse release in the point /// \param theEvent the mouse event /// \param theView a viewer to have the viewer the eye position /// \param theSelected the list of selected presentations /// \param theHighlighted the list of highlighted presentations - virtual void mouseReleased(QMouseEvent* theEvent, Handle_V3d_View theView, - const std::list& theSelected, - const std::list& theHighlighted); + virtual void mouseReleased(QMouseEvent* theEvent, ModuleBase_IViewer* theViewer, + ModuleBase_ISelection* theSelection); /// Gives the current mouse point in the viewer /// \param thePoint a point clicked in the viewer /// \param theEvent the mouse event - virtual void mouseMoved(QMouseEvent* theEvent, Handle_V3d_View theView); + virtual void mouseMoved(QMouseEvent* theEvent, ModuleBase_IViewer* theViewer); /// Returns the list of the nested features /// \return the list of subfeatures @@ -86,6 +84,18 @@ public: /// \return the boolean value whether the sketch is set bool hasSketchPlane() const; + /// Set the plane to the current sketch + /// \param theShape the shape + /// \return selected direction + boost::shared_ptr setSketchPlane(const TopoDS_Shape& theShape); + + /// Called on selection changed when the operation is active + virtual void selectionChanged(ModuleBase_ISelection* theSelection); + + /// If operation needs to redisplay its result during operation + /// then this method has to return True + virtual bool hasPreview() const { return false; } + signals: /// signal about the sketch plane is selected /// \param theX the value in the X direction of the plane @@ -95,17 +105,19 @@ signals: // signal about the viewer fit all perform void fitAllView(); -protected: + /// Signal to define sketch mode + void launchSketch(); + + protected: /// Virtual method called when operation started (see start() method for more description) /// Default impl calls corresponding slot and commits immediately. virtual void startOperation(); - /// Set the plane to the current sketch - /// \param theShape the shape - void setSketchPlane(const TopoDS_Shape& theShape); + /// Virtual method called after operation committed (see commit() method for more description) + virtual void afterCommitOperation(); -private: - std::list myFeatures; ///< the features to apply the edit operation + private: + QList myFeatures; ///< the features to apply the edit operation }; #endif