Salome HOME
Merge branch 'Dev_0.6.1' of newgeom:newgeom into Dev_0.6.1
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_Plugin.cpp
index 1ae9381cd9253ab3b3bb5792bd65b1bd8384a9fa..7dd5081f47508f8292823cdbe610a001b27d7694 100644 (file)
@@ -1,24 +1,39 @@
-#include "FeaturesPlugin_Plugin.h"
-#include "FeaturesPlugin_Extrusion.h"
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
 
-#include <ModelAPI_PluginManager.h>
-#include <ModelAPI_Document.h>
+#include <FeaturesPlugin_Plugin.h>
+
+#include <FeaturesPlugin_Boolean.h>
+#include <FeaturesPlugin_Extrusion.h>
+#include <FeaturesPlugin_Group.h>
+#include <FeaturesPlugin_Placement.h>
+
+#include <ModelAPI_Session.h>
+
+#include <string>
+
+#include <memory>
 
 using namespace std;
 
 // the only created instance of this plugin
-static FeaturesPlugin_Plugin* MY_INSTANCE = new FeaturesPlugin_Plugin();
+static FeaturesPlugin_Plugin* MY_FEATURES_INSTANCE = new FeaturesPlugin_Plugin();
 
-FeaturesPlugin_Plugin::FeaturesPlugin_Plugin() 
+FeaturesPlugin_Plugin::FeaturesPlugin_Plugin()
 {
   // register this plugin
-  ModelAPI_PluginManager::get()->registerPlugin(this);
+  ModelAPI_Session::get()->registerPlugin(this);
 }
 
 FeaturePtr FeaturesPlugin_Plugin::createFeature(string theFeatureID)
 {
   if (theFeatureID == FeaturesPlugin_Extrusion::ID()) {
     return FeaturePtr(new FeaturesPlugin_Extrusion);
+  } 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_Placement::ID()) {
+    return FeaturePtr(new FeaturesPlugin_Placement);
   }
   // feature of such kind is not found
   return FeaturePtr();