]> SALOME platform Git repositories - plugins/blsurfplugin.git/blobdiff - idl/BLSURFPlugin_Algorithm.idl
Salome HOME
Updated copyright comment
[plugins/blsurfplugin.git] / idl / BLSURFPlugin_Algorithm.idl
index 07af2be5d4a9383453e560e82d69eba87b1d7945..5b889d7f1ef29c0226c7bdaed566925862595fd4 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2019  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 #ifndef _SMESH_BLSURFALGORITHM_IDL_
 #define _SMESH_BLSURFALGORITHM_IDL_
 
-#include "SMESH_Hypothesis.idl"
 #include "GEOM_Gen.idl"
 #include "SALOME_Exception.idl"
+#include "SMESH_Hypothesis.idl"
+#include "SMESH_Mesh.idl"
 
 /*!
  * BLSURFPlugin: interfaces to BLSURF related hypotheses and algorithms
@@ -37,6 +38,14 @@ module BLSURFPlugin
 {
   typedef sequence<string> string_array;
 
+  // Enforced 1D Mesh
+  struct MG_EnforcedMesh1D
+  {
+    SMESH::SMESH_IDSource mesh;      // mesh, group or sub-mesh
+    string                groupName; // optional name of a group to add mesh edges to
+  };
+  typedef sequence< MG_EnforcedMesh1D > EnforcedMeshesList;
+
   // Enforced vertex name
   typedef string TEnfName;
   // Entry
@@ -44,12 +53,12 @@ module BLSURFPlugin
   typedef sequence<TEntry> TEntryList;
   // Group name
   typedef string TEnfGroupName;
-  
+
   // Coordinates of enforced vertex
   typedef sequence<double,3> TEnfVertexCoords;
   // List of coords
   typedef sequence<TEnfVertexCoords> TEnfVertexCoordsList;
-  
+
   // Enforced vertex
   struct TEnfVertex {
     TEnfName name;
@@ -121,8 +130,11 @@ module BLSURFPlugin
   typedef sequence<TPreCadPeriodicity> TPeriodicityList;
 
   // Hyper-patches
-  typedef sequence<long> THyperPatch;
-  typedef sequence<THyperPatch> THyperPatchList;
+  typedef sequence< long               > THyperPatch;
+  typedef sequence< THyperPatch        > THyperPatchList;
+  typedef sequence< string             > THyperPatchEntries;
+  typedef sequence< THyperPatchEntries > THyperPatchEntriesList;
+  typedef sequence< GEOM::ListOfGO     > THyperPatchShapesList;
   
   /*!
    * BLSURFPlugin_BLSURF: interface of BLSURF algorithm
@@ -137,6 +149,12 @@ module BLSURFPlugin
   interface BLSURFPlugin_Hypothesis : SMESH::SMESH_Hypothesis
   {
 
+    /*!
+     * Get version of MeshGems suite.
+     * The version is a string in form <major>.<minor>-<patch>. Example: "2.9-6".
+     */
+    string GetMeshGemsVersion();
+
     /*!
      *Set a way to define size of mesh elements to generate
      * 0 - size is defined automatically
@@ -315,8 +333,8 @@ module BLSURFPlugin
     /*!
      *  Activate/deactivate surface proximity computation
      */
-    void SetUseSurfaceProximity( in boolean toUse );
-    boolean GetUseSurfaceProximity();
+    void SetSurfaceProximity( in boolean toUse );
+    boolean GetSurfaceProximity();
 
     /*!
      * Set number of surface element layers to be generated due to surface proximity
@@ -333,8 +351,8 @@ module BLSURFPlugin
     /*!
      *  Activate/deactivate volume proximity computation
      */
-    void SetUseVolumeProximity( in boolean toUse );
-    boolean GetUseVolumeProximity();
+    void SetVolumeProximity( in boolean toUse );
+    boolean GetVolumeProximity();
 
     /*!
      * Set number of surface element layers to be generated due to volume proximity
@@ -349,11 +367,17 @@ module BLSURFPlugin
     double GetVolumeProximityRatio();
 
     /*!
-     *Set verbosity level in the range 0 to 100.
+     * Set verbosity level in the range 0 to 10.
      */
     void SetVerbosity(in short theVal) raises (SALOME::SALOME_Exception);
     short GetVerbosity();
 
+    /*!
+     * Set/Get enforced 1D meshes
+     */
+    void SetEnforcedMeshes( in EnforcedMeshesList enforcedMeshes );
+    EnforcedMeshesList GetEnforcedMeshes();
+
     /*!
      * Set enforce_cad_edge_sizes parameter
      *
@@ -494,7 +518,10 @@ module BLSURFPlugin
      * Set hyper-patches
      */
     void SetHyperPatches(in THyperPatchList hpl);
-    THyperPatchList GetHyperPatches();
+    THyperPatchList GetHyperPatches( in GEOM::GEOM_Object mainShape );
+    void SetHyperPatchShapes(in THyperPatchShapesList hpsl);
+    THyperPatchEntriesList GetHyperPatchShapes();
+    void SetHyperPatchEntries(in THyperPatchEntriesList hpel);
 
     /*!
      * To merges edges.