X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Plugin.cpp;h=14e61b2362c7806c27657e8017b92cb77c2f95c8;hb=4e672d4ecb0e8a86ccc5e210d879eecf365c3524;hp=ab95647eedc7b0abec58d235f20d2536a1b23dab;hpb=b96d49472ad23f609343fa158d1d7b96c729ed09;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Plugin.cpp b/src/SketchPlugin/SketchPlugin_Plugin.cpp index ab95647ee..14e61b236 100644 --- a/src/SketchPlugin/SketchPlugin_Plugin.cpp +++ b/src/SketchPlugin/SketchPlugin_Plugin.cpp @@ -1,6 +1,15 @@ #include "SketchPlugin_Plugin.h" #include "SketchPlugin_Sketch.h" #include "SketchPlugin_Line.h" +#include "SketchPlugin_Point.h" +#include "SketchPlugin_Circle.h" +#include "SketchPlugin_Arc.h" +#include "SketchPlugin_ConstraintCoincidence.h" +#include "SketchPlugin_ConstraintDistance.h" +#include "SketchPlugin_ConstraintLength.h" +#include "SketchPlugin_ConstraintParallel.h" +#include "SketchPlugin_ConstraintPerpendicular.h" +#include "SketchPlugin_ConstraintRadius.h" #include #include @@ -15,14 +24,38 @@ SketchPlugin_Plugin::SketchPlugin_Plugin() ModelAPI_PluginManager::get()->registerPlugin(this); } -boost::shared_ptr SketchPlugin_Plugin::createFeature(string theFeatureID) +FeaturePtr SketchPlugin_Plugin::createFeature(string theFeatureID) { - if (theFeatureID == "Sketch") { - return boost::shared_ptr(new SketchPlugin_Sketch); + if (theFeatureID == SKETCH_KIND) { + return FeaturePtr(new SketchPlugin_Sketch); } - else if (theFeatureID == "SketchLine") { - return boost::shared_ptr(new SketchPlugin_Line); + else if (theFeatureID == SKETCH_POINT_KIND) { + return FeaturePtr(new SketchPlugin_Point); + } + else if (theFeatureID == SKETCH_LINE_KIND) { + return FeaturePtr(new SketchPlugin_Line); + } + else if (theFeatureID == SKETCH_CIRCLE_KIND) { + return FeaturePtr(new SketchPlugin_Circle); + } + else if (theFeatureID == SKETCH_CONSTRAINT_COINCIDENCE_KIND) { + return FeaturePtr(new SketchPlugin_ConstraintCoincidence); + } + else if (theFeatureID == SKETCH_CONSTRAINT_DISTANCE_KIND) { + return FeaturePtr(new SketchPlugin_ConstraintDistance); + } + else if (theFeatureID == SKETCH_CONSTRAINT_LENGTH_KIND) { + return FeaturePtr(new SketchPlugin_ConstraintLength); + } + else if (theFeatureID == SKETCH_CONSTRAINT_PARALLEL_KIND) { + return FeaturePtr(new SketchPlugin_ConstraintParallel); + } + else if (theFeatureID == SKETCH_CONSTRAINT_PERPENDICULAR_KIND) { + return FeaturePtr(new SketchPlugin_ConstraintPerpendicular); + } + else if (theFeatureID == SKETCH_CONSTRAINT_RADIUS_KIND) { + return FeaturePtr(new SketchPlugin_ConstraintRadius); } // feature of such kind is not found - return boost::shared_ptr(); + return FeaturePtr(); }