X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Arc.h;h=a60774336e9f58d10779852101129d699f4e1a63;hb=cdd9efd8fbc75f120188ae16eed7471dc6492ac3;hp=3af4e2fd3a32c2f46c1b432972c67f040e3138eb;hpb=4cbd08290dc7a540e3fa93913d484e8336df90d9;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Arc.h b/src/SketchPlugin/SketchPlugin_Arc.h index 3af4e2fd3..a60774336 100644 --- a/src/SketchPlugin/SketchPlugin_Arc.h +++ b/src/SketchPlugin/SketchPlugin_Arc.h @@ -13,10 +13,13 @@ /**\class SketchPlugin_Arc * \ingroup DataModel * \brief Feature for creation of the new arc of circle in PartSet. + * The visualization of this object is separated in two parts. The first one is an AIS object + * calculated when there is non-initialized attributes of the arc. The second is a result and + * it is calculated if all attributes are initialized. */ -class SketchPlugin_Arc: public SketchPlugin_Feature//, public GeomAPI_IPresentable +class SketchPlugin_Arc : public SketchPlugin_Feature, public GeomAPI_IPresentable { -public: + public: /// Arc feature kind inline static const std::string& ID() { @@ -45,7 +48,13 @@ public: /// Returns the kind of a feature SKETCHPLUGIN_EXPORT virtual const std::string& getKind() - {static std::string MY_KIND = SketchPlugin_Arc::ID(); return MY_KIND;} + { + static std::string MY_KIND = SketchPlugin_Arc::ID(); + return MY_KIND; + } + + /// Returns true is sketch element is under the rigid constraint + SKETCHPLUGIN_EXPORT virtual bool isFixed(); /// Creates an arc-shape SKETCHPLUGIN_EXPORT virtual void execute(); @@ -54,9 +63,7 @@ public: SKETCHPLUGIN_EXPORT virtual void initAttributes(); /// Returns the AIS preview - virtual boost::shared_ptr getAISObject( - boost::shared_ptr thePrevious) - {return simpleAISObject(firstResult(), thePrevious);} + virtual AISObjectPtr getAISObject(AISObjectPtr thePrevious); /// Moves the feature /// \param theDeltaX the delta for X coordinate is moved @@ -69,6 +76,10 @@ public: /// Use plugin manager for features creation SketchPlugin_Arc(); + +private: + /// Returns true if all obligatory attributes are initialized + bool isFeatureValid(); }; #endif