Salome HOME
First implementation of the sketch drawer: helper for creation of sketch on imported...
[modules/shaper.git] / src / SketchPlugin / SketchPlugin_Plugin.cpp
index 0a1c026780f159025a7b7ca0653c3a74ebde224a..f7bc806d56ed4e79ae57a26aac2017a7074580e6 100644 (file)
@@ -54,6 +54,9 @@
 #include <SketchPlugin_ExternalValidator.h>
 #include <SketchPlugin_Ellipse.h>
 #include <SketchPlugin_MacroEllipse.h>
+#include <SketchPlugin_SketchDrawer.h>
+
+#include <SketcherPrs_Tools.h>
 
 #include <Events_Loop.h>
 #include <GeomDataAPI_Dir.h>
@@ -66,6 +69,7 @@
 #include <Config_PropManager.h>
 
 #include <memory>
+#include <sstream>
 
 #ifdef _DEBUG
 #include <iostream>
@@ -74,7 +78,7 @@
 #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_OVERCONSTRAINT_COLOR "255,0,0"
 #define SKETCH_FULLY_CONSTRAINED_COLOR "0,150,0"
 
 //#define SET_PLANES_COLOR_IN_PREFERENCES
@@ -131,6 +135,12 @@ SketchPlugin_Plugin::SketchPlugin_Plugin()
   aFactory->registerValidator("SketchPlugin_ArcEndPointIntersectionValidator",
                               new SketchPlugin_ArcEndPointIntersectionValidator);
   aFactory->registerValidator("SketchPlugin_HasNoConstraint", new SketchPlugin_HasNoConstraint);
+  aFactory->registerValidator("SketchPlugin_ReplicationReference",
+                              new SketchPlugin_ReplicationReferenceValidator);
+  aFactory->registerValidator("SketchPlugin_SketchFeatureValidator",
+                              new SketchPlugin_SketchFeatureValidator);
+  aFactory->registerValidator("SketchPlugin_MultiRotationAngleValidator",
+                              new SketchPlugin_MultiRotationAngleValidator);
 
   // register this plugin
   ModelAPI_Session::get()->registerPlugin(this);
@@ -147,10 +157,6 @@ SketchPlugin_Plugin::SketchPlugin_Plugin()
                                    "Sketch auxiliary entity color",
                                    Config_Prop::Color, SKETCH_AUXILIARY_COLOR);
 
-  Config_PropManager::registerProp("Visualization", "sketch_dimension_color",
-                                   "Sketch dimension color",
-                                   Config_Prop::Color, SKETCH_DIMENSION_COLOR);
-
   Config_PropManager::registerProp("Visualization", "sketch_overconstraint_color",
                                    "Sketch overconstraint color",
                                    Config_Prop::Color, SKETCH_OVERCONSTRAINT_COLOR);
@@ -168,6 +174,7 @@ SketchPlugin_Plugin::SketchPlugin_Plugin()
   Config_PropManager::registerProp("Visualization", "xy_plane_color", "XY plane color",
                                    Config_Prop::Color, XY_PLANE_COLOR);
 #endif
+
 }
 
 FeaturePtr SketchPlugin_Plugin::createFeature(std::string theFeatureID)
@@ -238,6 +245,8 @@ FeaturePtr SketchPlugin_Plugin::createFeature(std::string theFeatureID)
     return FeaturePtr(new SketchPlugin_Ellipse);
   } else if (theFeatureID == SketchPlugin_MacroEllipse::ID()) {
     return FeaturePtr(new SketchPlugin_MacroEllipse);
+  } else if (theFeatureID == SketchPlugin_SketchDrawer::ID()) {
+    return FeaturePtr(new SketchPlugin_SketchDrawer);
   }
   // feature of such kind is not found
   return FeaturePtr();