Salome HOME
updated copyright message
[plugins/netgenplugin.git] / idl / NETGENPlugin_Algorithm.idl
index 1dd6fc0ff46ac0deafaa524486a6d47b1fbb8156..3b9499c64c38b76e8b32c5baefd0aba0e83385c9 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  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
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -28,6 +28,7 @@
 
 #include "SALOME_Exception.idl"
 #include "SMESH_Hypothesis.idl"
+#include "SMESH_Group.idl"
 #include "GEOM_Gen.idl"
 
 /*!
@@ -43,6 +44,13 @@ module NETGENPlugin
   {
   };
 
+  /*!
+   * NETGENPlugin_NETGEN_3D: interface of "Remote Tetrahedron (Netgen)" algorithm
+   */
+  interface NETGENPlugin_NETGEN_3D_Remote : NETGENPlugin::NETGENPlugin_NETGEN_3D
+  {
+  };
+
   /*!
    * NETGENPlugin_NETGEN_2D: interface of "Netgen 1D-2D" algorithm
    */
@@ -66,43 +74,90 @@ module NETGENPlugin
   {
   };
 
+  /*!
+   * NETGENPlugin_Remesher_2D: interface of "NETGEN Remesher" algorithm,
+   * generating 2D elements basing on an existing 2D mesh
+   */
+  interface NETGENPlugin_Remesher_2D : SMESH::SMESH_2D_Algo
+  {
+  };
+
   /*!
    * NETGENPlugin_Hypothesis: interface of "NETGEN parameters" hypothesis
    */
   interface NETGENPlugin_Hypothesis : SMESH::SMESH_Hypothesis
   {
-    void SetMaxSize(in double value);
-    double GetMaxSize();
+    void    SetMaxSize(in double value);
+    double  GetMaxSize();
 
-    void SetMinSize(in double value);
-    double GetMinSize();
+    void    SetMinSize(in double value);
+    double  GetMinSize();
 
-    void SetSecondOrder(in boolean value);
+    void    SetSecondOrder(in boolean value);
     boolean GetSecondOrder();
 
-    void SetOptimize(in boolean value);
+    void    SetOptimize(in boolean value);
     boolean GetOptimize();
 
-    void SetFineness(in long value);
-    long GetFineness();
+    void    SetFineness(in long value);
+    long    GetFineness();
+
+    void    SetGrowthRate(in double value);
+    double  GetGrowthRate();
 
-    void SetGrowthRate(in double value);
-    double GetGrowthRate();
+    void    SetNbSegPerEdge(in double value);
+    double  GetNbSegPerEdge();
 
-    void SetNbSegPerEdge(in double value);
-    double GetNbSegPerEdge();
+    void    SetChordalErrorEnabled(in boolean value);
+    boolean GetChordalErrorEnabled();
+    void    SetChordalError(in double value);
+    double  GetChordalError();
 
-    void SetNbSegPerRadius(in double value);
-    double GetNbSegPerRadius();
+    void    SetNbSegPerRadius(in double value);
+    double  GetNbSegPerRadius();
 
-    void SetQuadAllowed(in boolean value);
+    void    SetQuadAllowed(in boolean value);
     boolean GetQuadAllowed();
 
-    void SetLocalSizeOnShape(in GEOM::GEOM_Object GeomObj, in double localSize);
-    void SetLocalSizeOnEntry(in string entry, in double localSize);
-    double GetLocalSizeOnEntry(in string entry);
+    void    SetUseSurfaceCurvature(in boolean value);
+    boolean GetUseSurfaceCurvature();
+
+    void    SetFuseEdges(in boolean value);
+    boolean GetFuseEdges();
+
+    void    SetLocalSizeOnShape(in GEOM::GEOM_Object GeomObj, in double localSize)
+      raises (SALOME::SALOME_Exception);
+    void    SetLocalSizeOnEntry(in string entry, in double localSize);
+    double  GetLocalSizeOnEntry(in string entry);
     string_array GetLocalSizeEntries();
-    void UnsetLocalSizeOnEntry(in string entry);
+    void    UnsetLocalSizeOnEntry(in string entry);
+
+    void    SetMeshSizeFile(in string fileName);
+    string  GetMeshSizeFile();
+
+    void    SetNbSurfOptSteps(in short nb );
+    short   GetNbSurfOptSteps();
+
+    void    SetNbVolOptSteps(in short nb );
+    short   GetNbVolOptSteps();
+
+    void    SetElemSizeWeight(in double size );
+    double  GetElemSizeWeight();
+
+    void    SetWorstElemMeasure(in short val );
+    short   GetWorstElemMeasure();
+
+    void    SetNbThreads(in short val );
+    short   GetNbThreads();
+
+    void    SetUseDelauney(in boolean toUse);
+    boolean GetUseDelauney();
+
+    void    SetCheckOverlapping(in boolean toCheck );
+    boolean GetCheckOverlapping();
+
+    void    SetCheckChartBoundary(in boolean toCheck );
+    boolean GetCheckChartBoundary();
   };
 
   /*!
@@ -113,7 +168,7 @@ module NETGENPlugin
   };
 
   /*!
-   * interface of "NETGEN 2D parameters" hypothesis used by NETGENPlugin_NETGEN_2D_ONLY algoritm
+   * interface of "NETGEN 2D parameters" hypothesis used by NETGENPlugin_NETGEN_2D_ONLY algorithm
    */
   interface NETGENPlugin_Hypothesis_2D_ONLY : NETGENPlugin_Hypothesis_2D
   {
@@ -126,6 +181,75 @@ module NETGENPlugin
   {
   };
 
+  /*!
+   * interface of "NETGEN Remesher parameters" hypothesis used by NETGENPlugin_Remesher_2D algorithm
+   */
+  interface NETGENPlugin_RemesherHypothesis_2D : NETGENPlugin_Hypothesis_2D
+  {
+    /*!
+     * \brief Set/get ridge angle
+     */
+    void    SetRidgeAngle(in double angle );
+    double  GetRidgeAngle();
+
+    void    SetEdgeCornerAngle(in double angle );
+    double  GetEdgeCornerAngle();
+
+    void    SetChartAngle(in double angle );
+    double  GetChartAngle();
+
+    void    SetOuterChartAngle(in double angle );
+    double  GetOuterChartAngle();
+
+    void    SetRestHChartDistFactor(in double f );
+    double  GetRestHChartDistFactor();
+
+    void    SetRestHChartDistEnable(in boolean enable );
+    boolean GetRestHChartDistEnable();
+
+    void    SetRestHLineLengthFactor(in double f );
+    double  GetRestHLineLengthFactor();
+
+    void    SetRestHLineLengthEnable(in boolean enable );
+    boolean GetRestHLineLengthEnable();
+
+    void    SetRestHCloseEdgeFactor(in double f );
+    double  GetRestHCloseEdgeFactor();
+
+    void    SetRestHCloseEdgeEnable(in boolean enable );
+    boolean GetRestHCloseEdgeEnable();
+
+    void    SetRestHSurfCurvFactor(in double f );
+    double  GetRestHSurfCurvFactor();
+
+    void    SetRestHSurfCurvEnable(in boolean enable );
+    boolean GetRestHSurfCurvEnable();
+
+    void    SetRestHEdgeAngleFactor(in double f );
+    double  GetRestHEdgeAngleFactor();
+
+    void    SetRestHEdgeAngleEnable(in boolean enable );
+    boolean GetRestHEdgeAngleEnable();
+
+    void    SetRestHSurfMeshCurvFactor(in double f );
+    double  GetRestHSurfMeshCurvFactor();
+
+    void    SetRestHSurfMeshCurvEnable(in boolean enable );
+    boolean GetRestHSurfMeshCurvEnable();
+
+    void    SetKeepExistingEdges(in boolean toKeep );
+    boolean GetKeepExistingEdges();
+
+    void    SetMakeGroupsOfSurfaces(in boolean toMake );
+    boolean GetMakeGroupsOfSurfaces();
+
+    void    SetLoadMeshOnCancel(in boolean toLoad );
+    boolean GetLoadMeshOnCancel();
+
+    void SetFixedEdgeGroup( in SMESH::SMESH_GroupBase edgeGroup );
+    SMESH::SMESH_GroupBase GetFixedEdgeGroup( in SMESH::SMESH_Mesh mesh );
+  };
+
   /*!
    * NETGENPlugin_Hypothesis: interface of "NETGEN 2D simple parameters" hypothesis
    */
@@ -134,12 +258,12 @@ module NETGENPlugin
     /*!
      * Sets <number of segments> value
      */
-    void SetNumberOfSegments(in short nb) raises (SALOME::SALOME_Exception);
+    void SetNumberOfSegments(in long nb) raises (SALOME::SALOME_Exception);
     /*!
      * Returns <number of segments> value.
      * Can be zero in case if LocalLength() has been set
      */
-    short GetNumberOfSegments();
+    long GetNumberOfSegments();
 
     /*!
      * Sets <segment length> value