X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OperationSketch.h;h=3f8215ac953f30f081ebfbdb80720a2ac6e014b2;hb=2677fb268b57b8c5ea2538b37efd80d933137e43;hp=99cacfbb68c7f2ff90ba8c661d40bcdd11fb5b25;hpb=29b4b1b5e692ebc45e8a27703b9307b075d2cff2;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationSketch.h b/src/PartSet/PartSet_OperationSketch.h index 99cacfbb6..3f8215ac9 100644 --- a/src/PartSet/PartSet_OperationSketch.h +++ b/src/PartSet/PartSet_OperationSketch.h @@ -1,3 +1,7 @@ +// File: PartSet_OperationSketch.h +// Created: 20 Apr 2014 +// Author: Natalia ERMOLAEVA + #ifndef PartSet_OperationSketch_H #define PartSet_OperationSketch_H @@ -8,16 +12,59 @@ /*! \class PartSet_OperationSketch - * \brief The operation for the sketch creation - * - * Base class for all operations. If you perform an action it is reasonable to create + * \brief The operation for the sketch feature creation */ class PARTSET_EXPORT PartSet_OperationSketch : public PartSet_OperationSketchBase { -Q_OBJECT + Q_OBJECT +public: + /// Returns the operation type key + static std::string Type() { return "Sketch"; } + public: + /// Constructor + /// \param theId the feature identifier + /// \param theParent the operation parent PartSet_OperationSketch(const QString& theId, QObject* theParent); + /// 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(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); + + /// Returns the map of the operation previews including the nested feature previews + /// \return the map of feature to the feature preview + virtual std::map, boost::shared_ptr > + preview() const; +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); + +private: + bool myIsEditMode; /// the edit mode of this operation }; #endif