Salome HOME
#17784 [EDF] MESH-GEMS-2.9.6 Meshers options
[plugins/ghs3dplugin.git] / src / GHS3DPlugin / GHS3DPlugin_Hypothesis_i.hxx
index 81c12dd4b75f13ed658f1c2d1e6e07a5c16ab489..37f1a86edecec0d243283e2a13e7eac41c9a5e37 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2004-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2004-2019  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
 // 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
@@ -45,7 +45,6 @@ class GHS3DPLUGIN_EXPORT GHS3DPlugin_Hypothesis_i:
  public:
   // Constructor
   GHS3DPlugin_Hypothesis_i (PortableServer::POA_ptr thePOA,
-                            int                     theStudyId,
                             ::SMESH_Gen*            theGenImpl);
   // Destructor
   virtual ~GHS3DPlugin_Hypothesis_i();
@@ -55,6 +54,22 @@ class GHS3DPLUGIN_EXPORT GHS3DPlugin_Hypothesis_i:
    */
   void SetToMeshHoles(CORBA::Boolean toMesh);
   CORBA::Boolean GetToMeshHoles();
+  /*!
+   *  Activate/deactivate volume proximity computation
+   */
+  void SetVolumeProximity( CORBA::Boolean toUse );
+  CORBA::Boolean GetVolumeProximity();
+  /*!
+   * Set number of surface element layers to be generated due to volume proximity
+   */
+  void SetNbVolumeProximityLayers( CORBA::Short nbLayers );
+  CORBA::Short GetNbVolumeProximityLayers();
+
+  void SetMaxSize(CORBA::Double theMaxSize);
+  CORBA::Double GetMaxSize();
+
+  void SetMinSize(CORBA::Double theMinSize);
+  CORBA::Double GetMinSize();
   /*!
    * To make groups of volumes of different domains when mesh is generated from skin.
    * Default is to make groups.
@@ -65,14 +80,14 @@ class GHS3DPLUGIN_EXPORT GHS3DPlugin_Hypothesis_i:
   /*!
    * Maximal size of memory to be used by the algorithm (in Megabytes)
    */
-  void SetMaximumMemory(CORBA::Long MB) throw ( SALOME::SALOME_Exception );
-  CORBA::Long GetMaximumMemory();
+  void SetMaximumMemory(CORBA::Float MB) throw ( SALOME::SALOME_Exception );
+  CORBA::Float GetMaximumMemory();
   /*!
    * Initial size of memory to be used by the algorithm (in Megabytes) in
    * automatic memory adjustment mode. Default is zero
    */
-  void SetInitialMemory(CORBA::Long MB) throw ( SALOME::SALOME_Exception );
-  CORBA::Long GetInitialMemory();
+  void SetInitialMemory(CORBA::Float MB) throw ( SALOME::SALOME_Exception );
+  CORBA::Float GetInitialMemory();
   /*!
    * Optimization level: 0-none, 1-light, 2-medium, 3-strong. Default is medium
    */
@@ -127,19 +142,44 @@ class GHS3DPLUGIN_EXPORT GHS3DPlugin_Hypothesis_i:
   /*!
    * To set hiden/undocumented/advanced options
    */
-  void SetTextOption(const char* option);
+  void SetAdvancedOption(const char* option) throw (SALOME::SALOME_Exception);
+  char* GetAdvancedOption();
+  void SetTextOption(const char* option); // obsolete
   char* GetTextOption();
+
+  void SetOptionValue(const char* optionName, const char* optionValue) throw (SALOME::SALOME_Exception);
+  char* GetOptionValue(const char* optionName) throw (SALOME::SALOME_Exception);
+  void UnsetOption(const char* optionName);
+
+  GHS3DPlugin::string_array* GetOptionValues();
+  GHS3DPlugin::string_array* GetAdvancedOptionValues();
+
+  void SetOptionValues(const GHS3DPlugin::string_array& options) throw (SALOME::SALOME_Exception);
+  void SetAdvancedOptionValues(const GHS3DPlugin::string_array& options);
+
+  void AddOption(const char* optionName, const char* optionValue);
+  char* GetOption(const char* optionName);
   /*!
   * To define the volumic gradation
   */
   void SetGradation(CORBA::Double gradation);
   CORBA::Double GetGradation();
+  /*!
+  * Print log in standard output
+  */
+  void SetStandardOutputLog(CORBA::Boolean logInStandardOutput);
+  CORBA::Boolean GetStandardOutputLog();
+  /*!
+  * Remove log file on success
+  */
+  void SetRemoveLogOnSuccess(CORBA::Boolean removeLogOnSuccess);
+  CORBA::Boolean GetRemoveLogOnSuccess();
   /*!
    * To set an enforced vertex
    */
   bool p_SetEnforcedVertex(CORBA::Double size, CORBA::Double x = 0, CORBA::Double y = 0, CORBA::Double z = 0,
-                          const char* theVertexName = "", const char* theVertexEntry = "", const char* theGroupName = "",
-                          CORBA::Boolean isCompound = false) 
+                           const char* theVertexName = "", const char* theVertexEntry = "", const char* theGroupName = "",
+                           CORBA::Boolean isCompound = false) 
     throw (SALOME::SALOME_Exception);
   bool SetEnforcedVertex(CORBA::Double x, CORBA::Double y, CORBA::Double z, CORBA::Double size) throw (SALOME::SALOME_Exception);
   bool SetEnforcedVertexNamed(CORBA::Double x, CORBA::Double y, CORBA::Double z, CORBA::Double size, const char* theVertexName) throw (SALOME::SALOME_Exception);
@@ -168,12 +208,27 @@ class GHS3DPLUGIN_EXPORT GHS3DPlugin_Hypothesis_i:
   GHS3DPlugin::GHS3DEnforcedMeshList* GetEnforcedMeshes();
   void ClearEnforcedMeshes();
 
+  // 3 GUI methods
+  CORBA::Double GetMaxSizeDefault();
+  CORBA::Double GetMinSizeDefault();
+  void SetMinMaxSizeDefault( CORBA::Double theMinSize, CORBA::Double theMaxSize );
+
   // Get implementation
   ::GHS3DPlugin_Hypothesis* GetImpl();
   
   // 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 );
 };
 
 #endif