Salome HOME
Issue #2111: Strange compsolid
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_Plugin.cpp
index 0daaa1ec1fa1b9f94060e3da83c74d6233abc511..a7a0ccf01efeb4ab231e7f77cccba21a3b0f6355 100644 (file)
@@ -6,9 +6,8 @@
 #include <FeaturesPlugin_Extrusion.h>
 #include <FeaturesPlugin_ExtrusionCut.h>
 #include <FeaturesPlugin_ExtrusionFuse.h>
-#include <FeaturesPlugin_Group.h>
 #include <FeaturesPlugin_Intersection.h>
-#include <FeaturesPlugin_Translation.h>
+#include <FeaturesPlugin_MultiTranslation.h>
 #include <FeaturesPlugin_Partition.h>
 #include <FeaturesPlugin_Pipe.h>
 #include <FeaturesPlugin_Placement.h>
@@ -18,6 +17,9 @@
 #include <FeaturesPlugin_RevolutionCut.h>
 #include <FeaturesPlugin_RevolutionFuse.h>
 #include <FeaturesPlugin_Rotation.h>
+#include <FeaturesPlugin_Scale.h>
+#include <FeaturesPlugin_Symmetry.h>
+#include <FeaturesPlugin_Translation.h>
 #include <FeaturesPlugin_Union.h>
 #include <FeaturesPlugin_ValidatorTransform.h>
 #include <FeaturesPlugin_Validators.h>
@@ -28,8 +30,6 @@
 
 #include <memory>
 
-using namespace std;
-
 // the only created instance of this plugin
 static FeaturesPlugin_Plugin* MY_FEATURES_INSTANCE = new FeaturesPlugin_Plugin();
 
@@ -43,6 +43,8 @@ FeaturesPlugin_Plugin::FeaturesPlugin_Plugin()
                               new FeaturesPlugin_ValidatorCompositeLauncher);
   aFactory->registerValidator("FeaturesPlugin_ValidatorBaseForGeneration",
                               new FeaturesPlugin_ValidatorBaseForGeneration);
+  aFactory->registerValidator("FeaturesPlugin_ValidatorBaseForGenerationSketchOrSketchObjects",
+                              new FeaturesPlugin_ValidatorBaseForGenerationSketchOrSketchObjects);
   aFactory->registerValidator("FeaturesPlugin_ValidatorPipeLocations",
                               new FeaturesPlugin_ValidatorPipeLocations);
   aFactory->registerValidator("FeaturesPlugin_ValidatorExtrusionDir",
@@ -61,12 +63,14 @@ FeaturesPlugin_Plugin::FeaturesPlugin_Plugin()
                               new FeaturesPlugin_ValidatorUnionSelection);
   aFactory->registerValidator("FeaturesPlugin_ValidatorUnionArguments",
                               new FeaturesPlugin_ValidatorUnionArguments);
+  aFactory->registerValidator("FeaturesPlugin_ValidatorConcealedResult",
+                              new FeaturesPlugin_ValidatorConcealedResult);
 
   // register this plugin
   ModelAPI_Session::get()->registerPlugin(this);
 }
 
-FeaturePtr FeaturesPlugin_Plugin::createFeature(string theFeatureID)
+FeaturePtr FeaturesPlugin_Plugin::createFeature(std::string theFeatureID)
 {
   if (theFeatureID == FeaturesPlugin_Extrusion::ID()) {
     return FeaturePtr(new FeaturesPlugin_Extrusion);
@@ -78,8 +82,6 @@ FeaturePtr FeaturesPlugin_Plugin::createFeature(string theFeatureID)
     return FeaturePtr(new FeaturesPlugin_Translation);
   } else if (theFeatureID == FeaturesPlugin_Boolean::ID()) {
     return FeaturePtr(new FeaturesPlugin_Boolean);
-  } else if (theFeatureID == FeaturesPlugin_Group::ID()) {
-    return FeaturePtr(new FeaturesPlugin_Group);
   } else if (theFeatureID == FeaturesPlugin_Intersection::ID()) {
     return FeaturePtr(new FeaturesPlugin_Intersection);
   } else if (theFeatureID == FeaturesPlugin_Partition::ID()) {
@@ -102,6 +104,12 @@ FeaturePtr FeaturesPlugin_Plugin::createFeature(string theFeatureID)
     return FeaturePtr(new FeaturesPlugin_RemoveSubShapes);
   } else if (theFeatureID == FeaturesPlugin_Union::ID()) {
     return FeaturePtr(new FeaturesPlugin_Union);
+  } else if (theFeatureID == FeaturesPlugin_Symmetry::ID()) {
+    return FeaturePtr(new FeaturesPlugin_Symmetry);
+  } else if (theFeatureID == FeaturesPlugin_Scale::ID()) {
+    return FeaturePtr(new FeaturesPlugin_Scale);
+  } else if (theFeatureID == FeaturesPlugin_MultiTranslation::ID()) {
+    return FeaturePtr(new FeaturesPlugin_MultiTranslation);
   }
 
   // feature of such kind is not found