X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OperationSketch.h;h=227722dc7c91b9849a8227e11e76d575a40d09d8;hb=1d7a043abfadf964bf38802e8adb5a4773fec900;hp=83be57a998259b46d5f91f16a8bb88bf2e614e74;hpb=e0599afe13a8f2be4fe593e6d50b23a23b0a6c81;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationSketch.h b/src/PartSet/PartSet_OperationSketch.h index 83be57a99..227722dc7 100644 --- a/src/PartSet/PartSet_OperationSketch.h +++ b/src/PartSet/PartSet_OperationSketch.h @@ -17,6 +17,10 @@ class PARTSET_EXPORT PartSet_OperationSketch : public PartSet_OperationSketchBase { Q_OBJECT +public: + /// Returns the operation type key + static std::string Type() { return "Sketch"; } + public: /// Constructor /// \param theId the feature identifier @@ -25,16 +29,38 @@ public: /// Destructor virtual ~PartSet_OperationSketch(); - /// The sketch can not be created immediately, firstly a plane should be set - virtual bool isPerformedImmediately() const; - /// Returns the operation local selection mode + /// \param theFeature the feature object to get the selection mode /// \return the selection mode - virtual int getSelectionMode() const; + virtual std::list getSelectionModes(boost::shared_ptr theFeature) const; + + /// Processes the mouse release in the point + /// \param thePoint a point clicked in the viewer + /// \param theEvent the mouse event + /// \param theSelected the list of selected presentations + virtual void mouseReleased(QMouseEvent* theEvent, Handle_V3d_View theView, + const std::list& theSelected); + /// Gives the current mouse point in the viewer + /// \param thePoint a point clicked in the viewer + /// \param theEvent the mouse event + /// \param theSelected the list of selected presentations + virtual void mouseMoved(QMouseEvent* theEvent, Handle_V3d_View theView, + const std::list& theSelected); + +signals: + /// signal about the sketch plane is selected + /// \param theX the value in the X direction of the plane + /// \param theX the value in the Y direction value of the plane + /// \param theX the value in the Z direction of the plane + void planeSelected(double theX, double theY, double theZ); + +protected: + /// Set the plane to the current sketch + /// \param theShape the shape + void setSketchPlane(const TopoDS_Shape& theShape); - /// Gives the current selected objects to be processed by the operation - /// \param theList a list of interactive selected objects - virtual void setSelectedObjects(const AIS_ListOfInteractive& theList); +private: + bool myIsEditMode; /// the edit mode of this operation }; #endif