X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Sketch.h;h=371943ec599254f9b1d520c90cf87404ffa41704;hb=61ca3befeb43f693d0b93593268720faca2d121b;hp=4cceee37f4b7e1fca07f95f199119c773b0411d3;hpb=c80e8ac643930b858f4f653e2659896ba587b165;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Sketch.h b/src/SketchPlugin/SketchPlugin_Sketch.h index 4cceee37f..371943ec5 100644 --- a/src/SketchPlugin/SketchPlugin_Sketch.h +++ b/src/SketchPlugin/SketchPlugin_Sketch.h @@ -7,9 +7,19 @@ #include "SketchPlugin.h" #include +#include +#include -/// part reference attribute -const std::string PART_ATTR_DOC_REF = "SketchDocument"; +/// Origin point of the sketcher in 3D space +const std::string SKETCH_ATTR_ORIGIN("Origin"); +/// Vector X inside of the sketch plane +const std::string SKETCH_ATTR_DIRX("DirX"); +/// Vector Y inside of the sketch plane +const std::string SKETCH_ATTR_DIRY("DirY"); +/// Vector Z, normal to the sketch plane +const std::string SKETCH_ATTR_NORM("Norm"); +/// All features of this sketch (list of references) +const std::string SKETCH_ATTR_FEATURES("Features"); /**\class SketchPlugin_Sketch * \ingroup DataModel @@ -35,8 +45,28 @@ public: /// Returns the sketch preview SKETCHPLUGIN_EXPORT virtual const boost::shared_ptr& preview(); + /// Adds sub-feature of the higher level feature (sub-element of the sketch) + /// \param theFeature sub-feature + SKETCHPLUGIN_EXPORT virtual const void addSub( + const boost::shared_ptr& theFeature); + + /// Converts a 2D sketch space point into point in 3D space + SKETCHPLUGIN_EXPORT boost::shared_ptr to3D( + const double theX, const double theY); + + /// Returns true if this feature must be displayed in the history (top level of Part tree) + SKETCHPLUGIN_EXPORT virtual bool isInHistory() {return true;} + /// Use plugin manager for features creation SketchPlugin_Sketch(); +protected: + /// Creates a plane and append it to the list + /// \param theX the X normal value + /// \param theY the Y normal value + /// \param theZ the Z normal value + /// \param theShapes the list of result shapes + void addPlane(double theX, double theY, double theZ, + std::list >& theShapes) const; }; #endif