Salome HOME
Copyright update 2022
[plugins/hybridplugin.git] / idl / HYBRIDPlugin_Algorithm.idl
index 29893d2e3f6dd0511fbd3143820ca7dd214891e6..b15612e66be1344a0ddb210af0f390afd64855c2 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2022  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -34,6 +34,8 @@
  */
 module HYBRIDPlugin
 {
+  typedef sequence<string> string_array;
+
   typedef sequence<double,3> TCoords;
   struct HYBRIDEnforcedVertex {
     string name;
@@ -68,6 +70,16 @@ module HYBRIDPlugin
    */
   interface HYBRIDPlugin_Hypothesis : SMESH::SMESH_Hypothesis
   {
+    /*!
+     * Sizes of boundary layers are relative to the surface size. Default no
+     */
+    void SetHeightIsRelative( in boolean isRelative );
+    boolean GetHeightIsRelative();
+    /*!
+     * Maximum internal angles of boundary elements (in degree)
+     */
+    void SetBoundaryLayersMaxElemAngle( in double angle );
+    double GetBoundaryLayersMaxElemAngle();
     /*!
      * To mesh "holes" in a solid or not. Default is to mesh.
      */
@@ -83,6 +95,16 @@ module HYBRIDPlugin
      */
     void SetFacesWithLayers(in SMESH::long_array faceIDs);
     SMESH::long_array GetFacesWithLayers();
+    /*!
+     * To imprint layers on given faces.
+     */
+    void SetFacesWithImprinting(in SMESH::long_array faceIDs);
+    SMESH::long_array GetFacesWithImprinting();
+    /*!
+     * To snap layers on given faces.
+     */
+    void SetFacesWithSnapping(in SMESH::long_array faceIDs);
+    SMESH::long_array GetFacesWithSnapping();
     /*!
      * To make groups of volumes of different domains when mesh is generated from skin.
      * Default is to make groups.
@@ -217,12 +239,38 @@ module HYBRIDPlugin
     void SetToRemoveCentralPoint(in boolean toRemove);
     boolean GetToRemoveCentralPoint();
     /*!
-     * To set hiden/undocumented/advanced options
+     * Set advanced option value
+     */
+    void SetOptionValue(in string optionName,
+                        in string optionValue) raises (SALOME::SALOME_Exception);
+    string GetOptionValue(in string optionName) raises (SALOME::SALOME_Exception);
+    void UnsetOption(in string optionName);
+    /*!
+     * Adds custom advanced option and its value
      */
-    void SetAdvancedOption( in string optAndVals );
+    void SetAdvancedOption(in string optionsAndValues) // in a form "option_1 v1 option_2 v2'"
+      raises (SALOME::SALOME_Exception);
     string GetAdvancedOption();
+    void AddOption(in string optionName, in string optionValue);
+    string GetOption(in string optionName);
     void SetTextOption(in string option); // obsolete
-    string GetTextOption();
+    string GetTextOption(); // obsolete
+    /*!
+     * Return array of strings each of which is option name concatenated
+     * with option value devided by semicolon - "option_name:option_value:option_type".
+     * Option value is empty if an option is not set.
+     * option_type: 1 if user-define, 0 if default
+     * Note: the method is mostly for interaction with GUI.
+     */
+    string_array GetOptionValues();
+    string_array GetAdvancedOptionValues();
+    /*!
+     * Set option values each in the form "option_name[:option_value][:option_type]".
+     * Note: the method is mostly for interaction with GUI.
+     */
+    void SetOptionValues(in string_array options) raises (SALOME::SALOME_Exception);
+    void SetAdvancedOptionValues(in string_array options);
+
     /*!
      * To define the volumic gradation
      */