Salome HOME
updated copyright message
[plugins/blsurfplugin.git] / src / BLSURFPlugin / BLSURFPlugin_i.cxx
index 2b2463e3f701a576a131027c5b07019d608c1c9a..3172ae41d07cadc27ad60556567addd71d077183 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2023  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 #include "BLSURFPlugin_BLSURF_i.hxx"
 #include "BLSURFPlugin_Hypothesis_i.hxx"
 
-template <class T> class BLSURFPlugin_Creator_i:public HypothesisCreator_i<T>
+template <class T, bool NOGEOM>
+class BLSURFPlugin_Creator_i : public GenericHypothesisCreator_i
 {
+  // Create a hypothesis
+  virtual SMESH_Hypothesis_i* Create(PortableServer::POA_ptr thePOA,
+                                     ::SMESH_Gen*            theGenImpl)
+  {
+    return new T (thePOA, theGenImpl, !NOGEOM);
+  }
+
   // as we have 'module BLSURFPlugin' in BLSURFPlugin_Algorithm.idl
   virtual std::string GetModuleName() { return "BLSURFPlugin"; }
 };
@@ -54,17 +62,20 @@ extern "C"
   BLSURFPLUGIN_EXPORT
   GenericHypothesisCreator_i* GetHypothesisCreator (const char* aHypName)
   {
-    MESSAGE("GetHypothesisCreator " << aHypName);
-
     GenericHypothesisCreator_i* aCreator = 0;
 
     // Algorithms
-    if (strcmp(aHypName, "BLSURF") == 0)
-      aCreator = new BLSURFPlugin_Creator_i<BLSURFPlugin_BLSURF_i>;
+    if (strcmp(aHypName, "BLSURF") == 0 ||
+        strcmp(aHypName, "MG-CADSurf") == 0 )
+      aCreator = new BLSURFPlugin_Creator_i<BLSURFPlugin_BLSURF_i,false>;
+    else if (strcmp(aHypName, "MG-CADSurf_NOGEOM") == 0 )
+      aCreator = new BLSURFPlugin_Creator_i<BLSURFPlugin_BLSURF_i,true>;
     // Hypotheses
-    else if (strcmp(aHypName, "BLSURF_Parameters") == 0)
-      aCreator = new BLSURFPlugin_Creator_i<BLSURFPlugin_Hypothesis_i>;
-    else ;
+    else if (strcmp(aHypName, "BLSURF_Parameters") == 0 ||
+             strcmp(aHypName, "MG-CADSurf Parameters") == 0 )
+      aCreator = new BLSURFPlugin_Creator_i<BLSURFPlugin_Hypothesis_i,false>;
+    else if (strcmp(aHypName, "MG-CADSurf Parameters_NOGEOM") == 0 )
+      aCreator = new BLSURFPlugin_Creator_i<BLSURFPlugin_Hypothesis_i,true>;
 
     return aCreator;
   }