Salome HOME
Fix bug 12796: Warning missed for the bad file 'test18.med'
[modules/smesh.git] / src / StdMeshers_I / StdMeshers_i.cxx
index c24606d6b8c7cdcbc9853ab479d76b6f2f86ab4b..42f4c68fd27925cd27457bf5d0ddf7d66827c1c5 100644 (file)
@@ -16,7 +16,7 @@
 //  License along with this library; if not, write to the Free Software 
 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
 // 
-//  See http://www.salome-platform.org or email : webmaster.salome@opencascade.org
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 //
 //
@@ -31,17 +31,30 @@ using namespace std;
 #include "utilities.h"
 
 #include "StdMeshers_LocalLength_i.hxx"
-#include "StdMeshers_LengthFromEdges_i.hxx"
-#include "StdMeshers_NotConformAllowed_i.hxx"
+#include "StdMeshers_AutomaticLength_i.hxx"
+#include "StdMeshers_StartEndLength_i.hxx"
+#include "StdMeshers_Arithmetic1D_i.hxx"
 #include "StdMeshers_NumberOfSegments_i.hxx"
+#include "StdMeshers_Deflection1D_i.hxx"
+#include "StdMeshers_Propagation_i.hxx"
+#include "StdMeshers_LengthFromEdges_i.hxx"
+#include "StdMeshers_QuadranglePreference_i.hxx"
+#include "StdMeshers_QuadraticMesh_i.hxx"
 #include "StdMeshers_MaxElementArea_i.hxx"
 #include "StdMeshers_MaxElementVolume_i.hxx"
+#include "StdMeshers_NotConformAllowed_i.hxx"
 
 #include "StdMeshers_Regular_1D_i.hxx"
 #include "StdMeshers_MEFISTO_2D_i.hxx"
 #include "StdMeshers_Quadrangle_2D_i.hxx"
 #include "StdMeshers_Hexa_3D_i.hxx"
 
+template <class T> class StdHypothesisCreator_i:public HypothesisCreator_i<T>
+{
+  // as we have 'module StdMeshers' in SMESH_BasicHypothesis.idl
+  virtual std::string GetModuleName() { return "StdMeshers"; }
+};
+
 //=============================================================================
 /*!
  *
@@ -58,27 +71,41 @@ extern "C"
 
     // Hypotheses
     if      (strcmp(aHypName, "LocalLength") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_LocalLength_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_LocalLength_i>;
     else if (strcmp(aHypName, "NumberOfSegments") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_NumberOfSegments_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_NumberOfSegments_i>;
     else if (strcmp(aHypName, "LengthFromEdges") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_LengthFromEdges_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_LengthFromEdges_i>;
     else if (strcmp(aHypName, "NotConformAllowed") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_NotConformAllowed_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_NotConformAllowed_i>;
+    else if (strcmp(aHypName, "Propagation") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Propagation_i>;
     else if (strcmp(aHypName, "MaxElementArea") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_MaxElementArea_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_MaxElementArea_i>;
     else if (strcmp(aHypName, "MaxElementVolume") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_MaxElementVolume_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_MaxElementVolume_i>;
+    else if (strcmp(aHypName, "StartEndLength") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_StartEndLength_i>;
+    else if (strcmp(aHypName, "Deflection1D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Deflection1D_i>;
+    else if (strcmp(aHypName, "Arithmetic1D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Arithmetic1D_i>;
+    else if (strcmp(aHypName, "AutomaticLength") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_AutomaticLength_i>;
+    else if (strcmp(aHypName, "QuadranglePreference") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_QuadranglePreference_i>;
+    else if (strcmp(aHypName, "QuadraticMesh") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_QuadraticMesh_i>;
 
     // Algorithms
     else if (strcmp(aHypName, "Regular_1D") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_Regular_1D_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Regular_1D_i>;
     else if (strcmp(aHypName, "MEFISTO_2D") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_MEFISTO_2D_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_MEFISTO_2D_i>;
     else if (strcmp(aHypName, "Quadrangle_2D") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_Quadrangle_2D_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Quadrangle_2D_i>;
     else if (strcmp(aHypName, "Hexa_3D") == 0)
-      aCreator = new HypothesisCreator_i<StdMeshers_Hexa_3D_i>;
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Hexa_3D_i>;
     else ;
 
     return aCreator;