Salome HOME
SketchShapePlugin package is removed as not used.
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_Plugin.cpp
index 844d77f829a395bdee4cfc39538bf10a5a85aeff..d40d085baaa2f05bf1cdb0ec0d68ca52608ba243 100644 (file)
@@ -4,12 +4,20 @@
 
 #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_Intersection.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>
 
@@ -24,6 +32,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);
 }
@@ -36,16 +49,30 @@ 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()) {
     return FeaturePtr(new FeaturesPlugin_Group);
+  } else if (theFeatureID == FeaturesPlugin_Intersection::ID()) {
+    return FeaturePtr(new FeaturesPlugin_Intersection);
+  } else if (theFeatureID == FeaturesPlugin_Partition::ID()) {
+    return FeaturePtr(new FeaturesPlugin_Partition);
   } else if (theFeatureID == FeaturesPlugin_Placement::ID()) {
     return FeaturePtr(new FeaturesPlugin_Placement);
   } else if (theFeatureID == FeaturesPlugin_ExtrusionCut::ID()) {
     return FeaturePtr(new FeaturesPlugin_ExtrusionCut);
+  } else if (theFeatureID == FeaturesPlugin_ExtrusionFuse::ID()) {
+    return FeaturePtr(new FeaturesPlugin_ExtrusionFuse);
+  } else if (theFeatureID == FeaturesPlugin_RevolutionCut::ID()) {
+    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();