X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FPartSet%2FPartSet_OperationSketch.h;h=cc11518779a435404e7f152dbb846b0ab72f21bc;hb=5bac8bac0b4cd2e4520c0908b2863d747e411fb9;hp=d40a55331a198a5fdccbb4fdb9cbc8a22872ffda;hpb=47d72a1d6bf5b8dfd61e5824a52d6c2ed2af52d6;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationSketch.h b/src/PartSet/PartSet_OperationSketch.h index d40a55331..cc1151877 100644 --- a/src/PartSet/PartSet_OperationSketch.h +++ b/src/PartSet/PartSet_OperationSketch.h @@ -8,20 +8,28 @@ #include "PartSet.h" #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"; } + static std::string Type() + { + return SketchPlugin_Sketch::ID(); + } -public: + public: /// Constructor /// \param theId the feature identifier /// \param theParent the operation parent @@ -29,21 +37,21 @@ public: /// Destructor virtual ~PartSet_OperationSketch(); + /// Returns True if the given operation is a Sketcher operation + virtual bool isValid(ModuleBase_IOperation* theOperation) const; + + /// 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; + virtual std::list getSelectionModes(ObjectPtr theFeature) const; - /// Initializes some fields accorging to the feature - /// \param theSelected the list of selected presentations - /// \param theHighlighted the list of highlighted presentations - virtual void init(boost::shared_ptr theFeature, - const std::list& theSelected, - const std::list& theHighlighted); + /// 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 boost::shared_ptr sketch() const; + virtual FeaturePtr sketch() const; /// Processes the mouse pressed in the point /// \param theEvent the mouse event @@ -51,17 +59,25 @@ public: /// \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); + const std::list& theSelected, + const std::list& theHighlighted); + /// 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); + /// 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); - /// 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 > - subPreview() const; + /// Returns the list of the nested features + /// \return the list of subfeatures + virtual std::list subFeatures() const; /// Virtual method called when operation stopped - committed or aborted. /// Emits a signal to hide the preview of the operation @@ -73,28 +89,30 @@ public: /// \return enabled state virtual bool isNestedOperationsEnabled() const; + /// Returns whether the sketch plane is set + /// \return the boolean value whether the sketch is set + bool hasSketchPlane() const; + + /// Set the plane to the current sketch + /// \param theShape the shape + void setSketchPlane(const TopoDS_Shape& theShape); + 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); + // signal about the viewer fit all perform + void fitAllView(); -protected: + protected: /// Virtual method called when operation started (see start() method for more description) /// Default impl calls corresponding slot and commits immediately. virtual void startOperation(); - /// Returns whether the sketch plane is set - /// \return the boolean value whether the sketch is set - bool hasSketchPlane() const; - - /// Set the plane to the current sketch - /// \param theShape the shape - void setSketchPlane(const TopoDS_Shape& theShape); - -private: - std::list myFeatures; ///< the features to apply the edit operation + private: + std::list myFeatures; ///< the features to apply the edit operation }; #endif