Salome HOME
new combo for element generation etc...
[plugins/hybridplugin.git] / idl / HYBRIDPlugin_Algorithm.idl
index e369a41e1ffa7801c01a40e08f851640988309d4..f54103d409ba92219f6b84d33fa38aeaf6d3b341 100644 (file)
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
-//  File   : GHS3D_Algorithm.idl
+//  File   : HYBRID_Algorithm.idl
 //  Author : Julia DOROVSKIKH
 //
-#ifndef _GHS3D_Algorithm_IDL_
-#define _GHS3D_Algorithm_IDL_
+#ifndef _HYBRID_Algorithm_IDL_
+#define _HYBRID_Algorithm_IDL_
 
 #include "SALOME_Exception.idl"
 #include "SMESH_Hypothesis.idl"
 #include "SMESH_Mesh.idl"
 
 /*!
- * GHS3DPlugin: interfaces to GHS3D related hypotheses and algorithms
+ * HYBRIDPlugin: interfaces to HYBRID related hypotheses and algorithms
  */
-module GHS3DPlugin
+module HYBRIDPlugin
 {
   typedef sequence<double,3> TCoords;
-  struct GHS3DEnforcedVertex {
+  struct HYBRIDEnforcedVertex {
     string name;
     string geomEntry;
     boolean isCompound;
@@ -42,29 +42,29 @@ module GHS3DPlugin
     double size;
   };
   
-  typedef sequence<GHS3DEnforcedVertex> GHS3DEnforcedVertexList;
+  typedef sequence<HYBRIDEnforcedVertex> HYBRIDEnforcedVertexList;
 
-  struct GHS3DEnforcedMesh {
+  struct HYBRIDEnforcedMesh {
     string name;
     string entry;
     SMESH::ElementType elementType;
     string groupName;
   };
   
-  typedef sequence<GHS3DEnforcedMesh> GHS3DEnforcedMeshList;
+  typedef sequence<HYBRIDEnforcedMesh> HYBRIDEnforcedMeshList;
 
   /*!
-   * GHS3DPlugin_GHS3D: interface of "Tetrahedron (GHS3D)" algorithm
+   * HYBRIDPlugin_HYBRID: interface of "Tetrahedron (HYBRID)" algorithm
    */
-  interface GHS3DPlugin_GHS3D : SMESH::SMESH_3D_Algo
+  interface HYBRIDPlugin_HYBRID : SMESH::SMESH_3D_Algo
   {
     SMESH::SMESH_Mesh importGMFMesh(in string aGMFFileName);
   };
 
   /*!
-   * Parameters of "Tetrahedron (GHS3D)" algorithm
+   * Parameters of "Tetrahedron (HYBRID)" algorithm
    */
-  interface GHS3DPlugin_Hypothesis : SMESH::SMESH_Hypothesis
+  interface HYBRIDPlugin_Hypothesis : SMESH::SMESH_Hypothesis
   {
     /*!
      * To mesh "holes" in a solid or not. Default is to mesh.
@@ -96,6 +96,62 @@ module GHS3DPlugin
      */
     void SetOptimizationLevel(in short level) raises (SALOME::SALOME_Exception);
     short GetOptimizationLevel();
+
+
+    /*!
+     * Collision mode: 0-decrease, 1-stop. Default is decrease
+     */
+    void SetCollisionMode(in short level) raises (SALOME::SALOME_Exception);
+    short GetCollisionMode();
+    /*!
+     * BoundaryLayersGrowth: 0-Layer_Growth_Inward, 1-Layer_Growth_Outward. Default is Layer_Growth_Inward
+     */
+    void SetBoundaryLayersGrowth(in short level) raises (SALOME::SALOME_Exception);
+    short GetBoundaryLayersGrowth();
+    /*!
+     * ElementGeneration: 0-Generation_Tetra_Dominant, 1-Generation_Hexa_Dominant. Default is Generation_Tetra_Dominant
+     */
+    void SetElementGeneration(in short level) raises (SALOME::SALOME_Exception);
+    short GetElementGeneration();
+    
+    /*!
+     * To mesh adding extra normals at opening ridges and corners.
+     * Default is no.
+     */
+    void SetAddMultinormals(in boolean toAddMultinormals);
+    boolean GetAddMultinormals();
+    /*!
+     * To mesh smoothing normals at closed ridges and corners.
+     * Default is no.
+     */
+    void SetSmoothNormals(in boolean toSmoothNormals);
+    boolean GetSmoothNormals();
+    /*!
+     * To set height of the first layer.
+     */
+    void SetHeightFirstLayer(in double HFL) raises (SALOME::SALOME_Exception);
+    double GetHeightFirstLayer();
+    /*!
+     * To set boundary layers coefficient of geometric progression.
+     * Default is 1.0
+     */
+    void SetBoundaryLayersProgression(in double BLP) raises (SALOME::SALOME_Exception);
+    double GetBoundaryLayersProgression();
+    /*!
+     * To set multinormals angle threshold at opening ridges.
+     * Default is 30.0
+     */
+    void SetMultinormalsAngle(in double MNA) raises (SALOME::SALOME_Exception);
+    double GetMultinormalsAngle();
+    /*!
+     * To set number of boundary layers.
+     * Default is 1
+     */
+    void SetNbOfBoundaryLayers(in short NBL) raises (SALOME::SALOME_Exception);
+    short GetNbOfBoundaryLayers();
+    
+
     /*!
      * Path to working directory
      */
@@ -175,14 +231,14 @@ module GHS3DPlugin
     double GetEnforcedVertexGeom(in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
     boolean RemoveEnforcedVertex(in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
     boolean RemoveEnforcedVertexGeom(in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
-    GHS3DEnforcedVertexList GetEnforcedVertices();
+    HYBRIDEnforcedVertexList GetEnforcedVertices();
     void ClearEnforcedVertices();
    /*!
     * Set/get/unset an enforced vertex (private method for GUI)
     */
     boolean p_SetEnforcedVertex(in double size, in double x, in double y, in double z,
-                             in string theVertexName, in string theVertexEntry, in string groupName,
-                             in boolean isCompound) raises (SALOME::SALOME_Exception);
+                                in string theVertexName, in string theVertexEntry, in string groupName,
+                                in boolean isCompound) raises (SALOME::SALOME_Exception);
     
     boolean SetEnforcedMesh(in SMESH::SMESH_IDSource theSource, in SMESH::ElementType elementType) raises (SALOME::SALOME_Exception);
     boolean SetEnforcedMeshWithGroup(in SMESH::SMESH_IDSource theSource, in SMESH::ElementType elementType, in string groupName) raises (SALOME::SALOME_Exception);
@@ -192,7 +248,7 @@ module GHS3DPlugin
     boolean SetEnforcedMeshSizeWithGroup(in SMESH::SMESH_IDSource theSource, in SMESH::ElementType elementType, in double size, in string groupName) raises (SALOME::SALOME_Exception);
     /* OBSOLETE FUNCTIONS */
     
-    GHS3DEnforcedMeshList GetEnforcedMeshes();
+    HYBRIDEnforcedMeshList GetEnforcedMeshes();
     void ClearEnforcedMeshes();
 
    /*!