X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Sketch.h;h=6a07b55c9038696881c6c1d43ae52c78804bb9f2;hb=c6ec08d06c779c0902f57c8f9189ac6b6ef8a097;hp=07f8ae269ec8e34eee0af6f9a4559b15e9c61d7d;hpb=b2a34ee4bab2fe2d97f900cbdafcaf122344c46c;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Sketch.h b/src/SketchPlugin/SketchPlugin_Sketch.h index 07f8ae269..6a07b55c9 100644 --- a/src/SketchPlugin/SketchPlugin_Sketch.h +++ b/src/SketchPlugin/SketchPlugin_Sketch.h @@ -25,7 +25,7 @@ * \ingroup DataModel * \brief Feature for creation of the new part in PartSet. */ -class SketchPlugin_Sketch : public SketchPlugin_Feature, public GeomAPI_IPresentable +class SketchPlugin_Sketch : public ModelAPI_CompositeFeature, public GeomAPI_IPresentable { public: /// Sketch feature kind @@ -78,10 +78,6 @@ class SketchPlugin_Sketch : public SketchPlugin_Feature, public GeomAPI_IPresent /// Request for initialization of data model of the feature: adding all attributes SKETCHPLUGIN_EXPORT virtual void initAttributes(); - /// Adds sub-feature of the higher level feature (sub-element of the sketch) - /// \param theFeature sub-feature - SKETCHPLUGIN_EXPORT virtual const void addSub(const FeaturePtr& theFeature); - /// Moves the feature /// \param theDeltaX the delta for X coordinate is moved /// \param theDeltaY the delta for Y coordinate is moved @@ -118,7 +114,29 @@ class SketchPlugin_Sketch : public SketchPlugin_Feature, public GeomAPI_IPresent /// removes also all sub-sketch elements SKETCHPLUGIN_EXPORT virtual void erase(); - protected: + SKETCHPLUGIN_EXPORT virtual boost::shared_ptr addFeature(std::string theID); + + /// Returns the number of sub-elements + SKETCHPLUGIN_EXPORT virtual int numberOfSubs() const; + + /// Returns the sub-feature by zero-base index + SKETCHPLUGIN_EXPORT virtual boost::shared_ptr + subFeature(const int theIndex) const; + + /// Returns the sub-feature unique identifier in this composite feature by zero-base index + SKETCHPLUGIN_EXPORT virtual int subFeatureId(const int theIndex) const; + + /// Returns true if feature or reuslt belong to this composite feature as subs + SKETCHPLUGIN_EXPORT virtual bool isSub(ObjectPtr theObject) const; + + /// Construction result is allways recomuted on the fly + SKETCHPLUGIN_EXPORT virtual bool isPersistentResult() {return false;} + + /// Returns the point projected into the sketch plane + boost::shared_ptr to2D(const boost::shared_ptr& thePnt); + + SKETCHPLUGIN_EXPORT virtual void attributeChanged(); +protected: /// Creates a plane and append it to the list /// \param theX the X normal value /// \param theY the Y normal value