X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Plugin.cpp;h=e6451367d112de681be2f3ffa3f218237bc7830b;hb=b5893b0a30fac08134c24de4565cb513a43affa6;hp=2c6c5772f67edf621366f20934e11c54f6418396;hpb=1c292b5bf95e18a6c8fbe407c532213e10c673c5;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Plugin.cpp b/src/SketchPlugin/SketchPlugin_Plugin.cpp index 2c6c5772f..e6451367d 100644 --- a/src/SketchPlugin/SketchPlugin_Plugin.cpp +++ b/src/SketchPlugin/SketchPlugin_Plugin.cpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include #include @@ -25,8 +25,11 @@ #include #include #include +#include +#include #include #include +#include #include #include @@ -46,6 +49,12 @@ #include #endif +#define SKETCH_ENTITY_COLOR "225,0,0" +#define SKETCH_EXTERNAL_COLOR "170,0,225" +#define SKETCH_AUXILIARY_COLOR "0,85,0" +#define SKETCH_OVERCONSTRAINT_COLOR "0,0,0" +#define SKETCH_FULLY_CONSTRAINED_COLOR "0,150,0" + //#define SET_PLANES_COLOR_IN_PREFERENCES // the only created instance of this plugin @@ -77,6 +86,8 @@ SketchPlugin_Plugin::SketchPlugin_Plugin() new SketchPlugin_FilletVertexValidator); aFactory->registerValidator("SketchPlugin_SplitValidator", new SketchPlugin_SplitValidator); + aFactory->registerValidator("SketchPlugin_TrimValidator", + new SketchPlugin_TrimValidator); aFactory->registerValidator("SketchPlugin_MiddlePointAttr", new SketchPlugin_MiddlePointAttrValidator); aFactory->registerValidator("SketchPlugin_ArcTangentPoint", @@ -85,6 +96,19 @@ SketchPlugin_Plugin::SketchPlugin_Plugin() new SketchPlugin_IntersectionValidator); aFactory->registerValidator("SketchPlugin_ProjectionValidator", new SketchPlugin_ProjectionValidator); + aFactory->registerValidator("SketchPlugin_DifferentReference", + new SketchPlugin_DifferentReferenceValidator); + aFactory->registerValidator("SketchPlugin_DifferentPointReference", + new SketchPlugin_DifferentPointReferenceValidator); + aFactory->registerValidator("SketchPlugin_CirclePassedPointValidator", + new SketchPlugin_CirclePassedPointValidator); + aFactory->registerValidator("SketchPlugin_ThirdPointValidator", + new SketchPlugin_ThirdPointValidator); + aFactory->registerValidator("SketchPlugin_ArcEndPointValidator", + 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); @@ -109,6 +133,10 @@ SketchPlugin_Plugin::SketchPlugin_Plugin() "Sketch overconstraint color", Config_Prop::Color, SKETCH_OVERCONSTRAINT_COLOR); + Config_PropManager::registerProp("Visualization", "sketch_fully_constrained_color", + "Sketch fully constrained color", + Config_Prop::Color, SKETCH_FULLY_CONSTRAINED_COLOR); + // register sketcher properties #ifdef SET_PLANES_COLOR_IN_PREFERENCES Config_PropManager::registerProp("Visualization", "yz_plane_color", "YZ plane color", @@ -164,8 +192,8 @@ FeaturePtr SketchPlugin_Plugin::createFeature(std::string theFeatureID) return FeaturePtr(new SketchPlugin_ConstraintMiddle); } else if (theFeatureID == SketchPlugin_ConstraintMirror::ID()) { return FeaturePtr(new SketchPlugin_ConstraintMirror); - } else if (theFeatureID == SketchPlugin_ConstraintFillet::ID()) { - return FeaturePtr(new SketchPlugin_ConstraintFillet); + } else if (theFeatureID == SketchPlugin_Fillet::ID()) { + return FeaturePtr(new SketchPlugin_Fillet); } else if (theFeatureID == SketchPlugin_ConstraintSplit::ID()) { return FeaturePtr(new SketchPlugin_ConstraintSplit); } else if (theFeatureID == SketchPlugin_MultiTranslation::ID()) { @@ -174,6 +202,12 @@ FeaturePtr SketchPlugin_Plugin::createFeature(std::string theFeatureID) return FeaturePtr(new SketchPlugin_MultiRotation); } else if (theFeatureID == SketchPlugin_ConstraintAngle::ID()) { return FeaturePtr(new SketchPlugin_ConstraintAngle); + } else if (theFeatureID == SketchPlugin_Trim::ID()) { + return FeaturePtr(new SketchPlugin_Trim); + } else if (theFeatureID == SketchPlugin_MacroArc::ID()) { + return FeaturePtr(new SketchPlugin_MacroArc); + } else if (theFeatureID == SketchPlugin_MacroCircle::ID()) { + return FeaturePtr(new SketchPlugin_MacroCircle); } // feature of such kind is not found return FeaturePtr(); @@ -231,11 +265,14 @@ std::shared_ptr SketchPlugin_Plugin aMsg->setState(SketchPlugin_ConstraintTangent::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintMiddle::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintMirror::ID(), aHasSketchPlane); - aMsg->setState(SketchPlugin_ConstraintFillet::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_Fillet::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintSplit::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintAngle::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_MultiRotation::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_MultiTranslation::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_Trim::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_MacroArc::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_MacroCircle::ID(), aHasSketchPlane); // SketchRectangle is a python feature, so its ID is passed just as a string aMsg->setState("SketchRectangle", aHasSketchPlane); }