X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Plugin.cpp;h=0a1c026780f159025a7b7ca0653c3a74ebde224a;hb=a94fc319f2aa64b43c9a73b5ff7063923648faec;hp=515cc685deb68622074d8105d937b7e6526623eb;hpb=a55f66ec2fca6f0bddfbc3f1db3842159bed1ed2;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Plugin.cpp b/src/SketchPlugin/SketchPlugin_Plugin.cpp index 515cc685d..0a1c02678 100644 --- a/src/SketchPlugin/SketchPlugin_Plugin.cpp +++ b/src/SketchPlugin/SketchPlugin_Plugin.cpp @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include #include #include @@ -50,6 +52,8 @@ #include #include #include +#include +#include #include #include @@ -126,6 +130,7 @@ SketchPlugin_Plugin::SketchPlugin_Plugin() new SketchPlugin_ArcEndPointValidator); aFactory->registerValidator("SketchPlugin_ArcEndPointIntersectionValidator", new SketchPlugin_ArcEndPointIntersectionValidator); + aFactory->registerValidator("SketchPlugin_HasNoConstraint", new SketchPlugin_HasNoConstraint); // register this plugin ModelAPI_Session::get()->registerPlugin(this); @@ -187,6 +192,10 @@ FeaturePtr SketchPlugin_Plugin::createFeature(std::string theFeatureID) return FeaturePtr(new SketchPlugin_ConstraintCollinear); } else if (theFeatureID == SketchPlugin_ConstraintDistance::ID()) { return FeaturePtr(new SketchPlugin_ConstraintDistance); + } else if (theFeatureID == SketchPlugin_ConstraintDistanceHorizontal::ID()) { + return FeaturePtr(new SketchPlugin_ConstraintDistanceHorizontal); + } else if (theFeatureID == SketchPlugin_ConstraintDistanceVertical::ID()) { + return FeaturePtr(new SketchPlugin_ConstraintDistanceVertical); } else if (theFeatureID == SketchPlugin_ConstraintLength::ID()) { return FeaturePtr(new SketchPlugin_ConstraintLength); } else if (theFeatureID == SketchPlugin_ConstraintParallel::ID()) { @@ -225,6 +234,10 @@ FeaturePtr SketchPlugin_Plugin::createFeature(std::string theFeatureID) return FeaturePtr(new SketchPlugin_MacroArc); } else if (theFeatureID == SketchPlugin_MacroCircle::ID()) { return FeaturePtr(new SketchPlugin_MacroCircle); + } else if (theFeatureID == SketchPlugin_Ellipse::ID()) { + return FeaturePtr(new SketchPlugin_Ellipse); + } else if (theFeatureID == SketchPlugin_MacroEllipse::ID()) { + return FeaturePtr(new SketchPlugin_MacroEllipse); } // feature of such kind is not found return FeaturePtr(); @@ -267,6 +280,7 @@ std::shared_ptr SketchPlugin_Plugin aMsg->setState(SketchPlugin_Line::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_Circle::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_Arc::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_Ellipse::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_Projection::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintCoincidence::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintCollinear::ID(), aHasSketchPlane); @@ -290,6 +304,8 @@ std::shared_ptr SketchPlugin_Plugin aMsg->setState(SketchPlugin_Trim::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_MacroArc::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_MacroCircle::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_ConstraintDistanceHorizontal::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_ConstraintDistanceVertical::ID(), aHasSketchPlane); // SketchRectangle is a python feature, so its ID is passed just as a string aMsg->setState("SketchRectangle", aHasSketchPlane); }