Salome HOME
#17784 [EDF] MESH-GEMS-2.9.6 Meshers options
[plugins/ghs3dplugin.git] / src / GHS3DPlugin / GHS3DPlugin_Hypothesis_i.hxx
index fd75156f263549dc233d8991dda9632d6680e57a..37f1a86edecec0d243283e2a13e7eac41c9a5e37 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015  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
@@ -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,8 +142,23 @@ 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
   */
@@ -178,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