Salome HOME
updated copyright message
[plugins/netgenplugin.git] / src / NETGENPlugin / NETGENPlugin_Hypothesis_i.hxx
index d03b2422f6eba027cf830d04ad5711dbd6c7f1b9..60011e983739b94bc7d444d3743f1124f2ed5b5f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -50,7 +50,6 @@ class NETGENPLUGIN_EXPORT NETGENPlugin_Hypothesis_i:
  public:
   // Constructor
   NETGENPlugin_Hypothesis_i (PortableServer::POA_ptr thePOA,
-                             int                     theStudyId,
                              ::SMESH_Gen*            theGenImpl);
   // Destructor
   virtual ~NETGENPlugin_Hypothesis_i();
@@ -79,13 +78,20 @@ class NETGENPLUGIN_EXPORT NETGENPlugin_Hypothesis_i:
   void SetNbSegPerRadius(CORBA::Double theVal);
   CORBA::Double GetNbSegPerRadius();
 
-  void SetLocalSizeOnShape(GEOM::GEOM_Object_ptr GeomObj, CORBA::Double localSize)
-    throw (SALOME::SALOME_Exception);
+  void SetChordalErrorEnabled(CORBA::Boolean value);
+  CORBA::Boolean GetChordalErrorEnabled();
+  void SetChordalError(CORBA::Double value);
+  CORBA::Double GetChordalError();
+
+  void SetLocalSizeOnShape(GEOM::GEOM_Object_ptr GeomObj, CORBA::Double localSize);
   void SetLocalSizeOnEntry(const char* entry, CORBA::Double localSize);
   CORBA::Double GetLocalSizeOnEntry(const char* entry);
   NETGENPlugin::string_array* GetLocalSizeEntries();
   void UnsetLocalSizeOnEntry(const char* entry);
 
+  void SetMeshSizeFile(const char* fileName);
+  char* GetMeshSizeFile();
+
   void SetQuadAllowed(CORBA::Boolean theVal);
   CORBA::Boolean GetQuadAllowed();
 
@@ -95,30 +101,67 @@ class NETGENPLUGIN_EXPORT NETGENPlugin_Hypothesis_i:
   void SetFuseEdges(CORBA::Boolean theVal);
   CORBA::Boolean GetFuseEdges();
 
+  void    SetNbSurfOptSteps(CORBA::Short nb );
+  CORBA::Short GetNbSurfOptSteps();
+
+  void    SetNbVolOptSteps(CORBA::Short nb );
+  CORBA::Short GetNbVolOptSteps();
+
+  void    SetElemSizeWeight(CORBA::Double size );
+  CORBA::Double GetElemSizeWeight();
+
+  void    SetWorstElemMeasure(CORBA::Short val );
+  CORBA::Short GetWorstElemMeasure();
+
+  void    SetNbThreads(CORBA::Short val );
+  CORBA::Short GetNbThreads();
+
+  void    SetUseDelauney(CORBA::Boolean toUse);
+  CORBA::Boolean GetUseDelauney();
+
+  void    SetCheckOverlapping(CORBA::Boolean toCheck );
+  CORBA::Boolean GetCheckOverlapping();
+
+  void    SetCheckChartBoundary(CORBA::Boolean toCheck );
+  CORBA::Boolean GetCheckChartBoundary();
+
   // Get implementation
   ::NETGENPlugin_Hypothesis* GetImpl();
-  
-  // Verify whether hypothesis supports given entity type 
+
+  // Verify whether hypothesis supports given entity type
   CORBA::Boolean IsDimSupported( SMESH::Dimension type );
 
+
+  // Methods for copying mesh definition to other geometry
+
+  // Return geometry this hypothesis depends on. Return false if there is no geometry parameter
+  virtual bool getObjectsDependOn( std::vector< std::string > & entryArray,
+                                   std::vector< int >         & subIDArray ) const;
+
+  // Set new geometry instead of that returned by getObjectsDependOn()
+  virtual bool setObjectsDependOn( std::vector< std::string > & entryArray,
+                                   std::vector< int >         & subIDArray );
+
  protected:
 
   // to remember whether a parameter is already set (issue 0021364)
   enum SettingMethod
   {
-    METH_SetMaxSize          = 1,
-    METH_SetMinSize          = 2,
-    METH_SetSecondOrder      = 4,
-    METH_SetOptimize         = 8,
-    METH_SetFineness         = 16,
-    METH_SetGrowthRate       = 32,
-    METH_SetNbSegPerEdge     = 64,
-    METH_SetNbSegPerRadius   = 128,
-    METH_SetLocalSizeOnEntry = 256,
-    METH_SetQuadAllowed      = METH_SetLocalSizeOnEntry * 2,
-    METH_SetSurfaceCurvature = METH_SetQuadAllowed * 2,
-    METH_SetFuseEdges        = METH_SetSurfaceCurvature * 2,
-    METH_LAST                = METH_SetFuseEdges
+    METH_SetMaxSize             = 1,
+    METH_SetMinSize             = 2,
+    METH_SetSecondOrder         = 4,
+    METH_SetOptimize            = 8,
+    METH_SetFineness            = 16,
+    METH_SetGrowthRate          = 32,
+    METH_SetNbSegPerEdge        = 64,
+    METH_SetNbSegPerRadius      = 128,
+    METH_SetLocalSizeOnEntry    = 256,
+    METH_SetQuadAllowed         = METH_SetLocalSizeOnEntry * 2,
+    METH_SetSurfaceCurvature    = METH_SetQuadAllowed * 2,
+    METH_SetFuseEdges           = METH_SetSurfaceCurvature * 2,
+    METH_SetChordalErrorEnabled = METH_SetFuseEdges * 2,
+    METH_SetChordalError        = METH_SetChordalErrorEnabled * 2,
+    METH_LAST                   = METH_SetChordalError
   };
   int mySetMethodFlags;