X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FGHS3DPlugin_Algorithm.idl;h=55af9a419761b98b68e497b508175f2ed1b957b6;hb=62a0daec03bf0d683e1465a0ecc2e403f6297bd4;hp=a402d78e5f863657e5f2dfb94725fcdc608daf2c;hpb=df87dac5a839c857e40b9cf3c3aa06abd980c232;p=plugins%2Fhybridplugin.git diff --git a/idl/GHS3DPlugin_Algorithm.idl b/idl/GHS3DPlugin_Algorithm.idl index a402d78..55af9a4 100644 --- a/idl/GHS3DPlugin_Algorithm.idl +++ b/idl/GHS3DPlugin_Algorithm.idl @@ -1,41 +1,64 @@ -// Copyright (C) 2004-2008 CEA/DEN, EDF R&D +// Copyright (C) 2004-2013 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. +// 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. // -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File : GHS3D_Algorithm.idl // Author : Julia DOROVSKIKH -// $Header$ // #ifndef _GHS3D_Algorithm_IDL_ #define _GHS3D_Algorithm_IDL_ #include "SALOME_Exception.idl" #include "SMESH_Hypothesis.idl" +#include "SMESH_Mesh.idl" /*! * GHS3DPlugin: interfaces to GHS3D related hypotheses and algorithms */ module GHS3DPlugin { + typedef sequence TCoords; + struct GHS3DEnforcedVertex { + string name; + string geomEntry; + boolean isCompound; + TCoords coords; + string groupName; + double size; + }; + + typedef sequence GHS3DEnforcedVertexList; + + struct GHS3DEnforcedMesh { + string name; + string entry; + SMESH::ElementType elementType; + string groupName; + }; + + typedef sequence GHS3DEnforcedMeshList; + /*! * GHS3DPlugin_GHS3D: interface of "Tetrahedron (GHS3D)" algorithm */ interface GHS3DPlugin_GHS3D : SMESH::SMESH_3D_Algo { + SMESH::SMESH_Mesh importGMFMesh(in string aGMFFileName); }; /*! @@ -48,6 +71,13 @@ module GHS3DPlugin */ void SetToMeshHoles(in boolean toMesh); boolean GetToMeshHoles(); + /*! + * To make groups of volumes of different domains when mesh is generated from skin. + * Default is to make groups. + * This option works only (1) for the mesh w/o shape and (2) if GetToMeshHoles() == true + */ + void SetToMakeGroupsOfDomains(in boolean toMakeGroups); + boolean GetToMakeGroupsOfDomains(); /*! * Maximal size of memory to be used by the algorithm (in Megabytes). * Negative value means not to use this option @@ -99,11 +129,66 @@ module GHS3DPlugin */ void SetToUseBoundaryRecoveryVersion(in boolean toUse); boolean GetToUseBoundaryRecoveryVersion(); + /*! + * Applies finite-element correction by replacing overconstrained elements where + * it is possible. The process is cutting first the overconstrained edges and + * second the overconstrained facets. This insure that no edges have two boundary + * vertices and that no facets have three boundary vertices. + */ + void SetFEMCorrection(in boolean toUseFem); + boolean GetFEMCorrection(); + /*! + * To removes initial central point. + */ + void SetToRemoveCentralPoint(in boolean toRemove); + boolean GetToRemoveCentralPoint(); /*! * To set hiden/undocumented/advanced options */ void SetTextOption(in string option); string GetTextOption(); + /*! + * To define the volumic gradation + */ + void SetGradation(in double gradation); + double GetGradation(); + /*! + * To set an enforced vertex + */ + boolean SetEnforcedVertex(in double x, in double y, in double z, in double size) raises (SALOME::SALOME_Exception); + boolean SetEnforcedVertexNamed(in double x, in double y, in double z, in double size, in string vertexName) raises (SALOME::SALOME_Exception); + boolean SetEnforcedVertexWithGroup(in double x, in double y, in double z, in double size, in string groupName) raises (SALOME::SALOME_Exception); + boolean SetEnforcedVertexNamedWithGroup(in double x, in double y, in double z, in double size, in string vertexName, in string groupName) raises (SALOME::SALOME_Exception); + boolean SetEnforcedVertexGeom(in GEOM::GEOM_Object theVertex, in double size) raises (SALOME::SALOME_Exception); + boolean SetEnforcedVertexGeomWithGroup(in GEOM::GEOM_Object theVertex, in double size, in string groupName) raises (SALOME::SALOME_Exception); + double GetEnforcedVertex(in double x, in double y, in double z) raises (SALOME::SALOME_Exception); + double GetEnforcedVertexGeom(in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception); + boolean RemoveEnforcedVertex(in double x, in double y, in double z) raises (SALOME::SALOME_Exception); + boolean RemoveEnforcedVertexGeom(in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception); + GHS3DEnforcedVertexList GetEnforcedVertices(); + void ClearEnforcedVertices(); + /*! + * Set/get/unset an enforced vertex (private method for GUI) + */ + boolean p_SetEnforcedVertex(in double size, in double x, in double y, in double z, + in string theVertexName, in string theVertexEntry, in string groupName, + in boolean isCompound) raises (SALOME::SALOME_Exception); + + boolean SetEnforcedMesh(in SMESH::SMESH_IDSource theSource, in SMESH::ElementType elementType) raises (SALOME::SALOME_Exception); + boolean SetEnforcedMeshWithGroup(in SMESH::SMESH_IDSource theSource, in SMESH::ElementType elementType, in string groupName) raises (SALOME::SALOME_Exception); + + /* OBSOLETE FUNCTIONS */ + boolean SetEnforcedMeshSize(in SMESH::SMESH_IDSource theSource, in SMESH::ElementType elementType, in double size) raises (SALOME::SALOME_Exception); + boolean SetEnforcedMeshSizeWithGroup(in SMESH::SMESH_IDSource theSource, in SMESH::ElementType elementType, in double size, in string groupName) raises (SALOME::SALOME_Exception); + /* OBSOLETE FUNCTIONS */ + + GHS3DEnforcedMeshList GetEnforcedMeshes(); + void ClearEnforcedMeshes(); + + /*! + * Set/get/unset an enforced vertex (private method for GUI) + */ + boolean p_SetEnforcedMesh(in SMESH::SMESH_IDSource theSource, in SMESH::ElementType elementType, in string name, in string groupName) raises (SALOME::SALOME_Exception); }; };