Salome HOME
Validator for partition
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_Plugin.cpp
index d3d243a4ad7d78f8a89b7a1a86ca41266e2ed484..26a5b37e6c9f903e42aeb0a326399555abab619f 100644 (file)
@@ -4,16 +4,19 @@
 
 #include <FeaturesPlugin_Boolean.h>
 #include <FeaturesPlugin_Extrusion.h>
+#include <FeaturesPlugin_ExtrusionSketch.h>
 #include <FeaturesPlugin_ExtrusionCut.h>
 #include <FeaturesPlugin_ExtrusionFuse.h>
 #include <FeaturesPlugin_Group.h>
-#include <FeaturesPlugin_Movement.h>
+#include <FeaturesPlugin_Translation.h>
 #include <FeaturesPlugin_Partition.h>
 #include <FeaturesPlugin_Placement.h>
 #include <FeaturesPlugin_Revolution.h>
+#include <FeaturesPlugin_RevolutionSketch.h>
 #include <FeaturesPlugin_RevolutionCut.h>
 #include <FeaturesPlugin_RevolutionFuse.h>
 #include <FeaturesPlugin_Rotation.h>
+#include <FeaturesPlugin_ValidatorTransform.h>
 
 #include <ModelAPI_Session.h>
 
@@ -28,6 +31,11 @@ static FeaturesPlugin_Plugin* MY_FEATURES_INSTANCE = new FeaturesPlugin_Plugin()
 
 FeaturesPlugin_Plugin::FeaturesPlugin_Plugin()
 {
+  SessionPtr aMgr = ModelAPI_Session::get();
+  ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
+  aFactory->registerValidator("FeaturesPlugin_ValidatorTransform",
+                              new FeaturesPlugin_ValidatorTransform);  
+
   // register this plugin
   ModelAPI_Session::get()->registerPlugin(this);
 }
@@ -40,8 +48,8 @@ FeaturePtr FeaturesPlugin_Plugin::createFeature(string theFeatureID)
    return FeaturePtr(new FeaturesPlugin_Revolution);
   } else if (theFeatureID == FeaturesPlugin_Rotation::ID()) {
     return FeaturePtr(new FeaturesPlugin_Rotation);
-  } else if (theFeatureID == FeaturesPlugin_Movement::ID()) {
-    return FeaturePtr(new FeaturesPlugin_Movement);
+  } else if (theFeatureID == FeaturesPlugin_Translation::ID()) {
+    return FeaturePtr(new FeaturesPlugin_Translation);
   } else if (theFeatureID == FeaturesPlugin_Boolean::ID()) {
     return FeaturePtr(new FeaturesPlugin_Boolean);
   } else if (theFeatureID == FeaturesPlugin_Group::ID()) {
@@ -58,6 +66,10 @@ FeaturePtr FeaturesPlugin_Plugin::createFeature(string theFeatureID)
     return FeaturePtr(new FeaturesPlugin_RevolutionCut);
   } else if (theFeatureID == FeaturesPlugin_RevolutionFuse::ID()) {
     return FeaturePtr(new FeaturesPlugin_RevolutionFuse);
+  } else if (theFeatureID == FeaturesPlugin_ExtrusionSketch::ID()) {
+    return FeaturePtr(new FeaturesPlugin_ExtrusionSketch);
+  } else if (theFeatureID == FeaturesPlugin_RevolutionSketch::ID()) {
+    return FeaturePtr(new FeaturesPlugin_RevolutionSketch);
   }
   // feature of such kind is not found
   return FeaturePtr();