X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSMESH_Mesh.idl;h=4b710727b619a216bc86378b3475b611c82d50d5;hb=91c92cb54310225231438b4d3bafeb0d1643a7c0;hp=8d55cd0db319d0809240bdede538c15ef9488fb7;hpb=6c4be33671f147c729f94738f18a91535eabbf1a;p=modules%2Fsmesh.git diff --git a/idl/SMESH_Mesh.idl b/idl/SMESH_Mesh.idl index 8d55cd0db..4b710727b 100644 --- a/idl/SMESH_Mesh.idl +++ b/idl/SMESH_Mesh.idl @@ -1,28 +1,28 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // -// 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 : SMESH_Mesh.idl // Author : Paul RASCLE, EDF // - #ifndef _SMESH_MESH_IDL_ #define _SMESH_MESH_IDL_ @@ -37,6 +37,8 @@ module SMESH typedef sequence ListOfHypothesis; interface SMESH_GroupBase; typedef sequence ListOfGroups; + interface SMESH_IDSource; + typedef sequence ListOfIDSources; typedef sequence double_array ; typedef sequence long_array ; @@ -116,6 +118,7 @@ module SMESH VOLUME, ELEM0D }; + typedef sequence array_of_ElementType ; /*! * Enumeration for element geometry type, like in SMDS @@ -145,8 +148,8 @@ module SMESH /*! - * Enumeration of entity type uses in mesh info array, - * and should be synchronised with enum in SMDS + * Enumeration of entity type used in mesh info array, + * it should be synchronised with enum SMDSAbs_EntityType */ enum EntityType { @@ -245,6 +248,8 @@ module SMESH long_array elementConnectivities; types_array elementTypes; }; + interface SMESH_Mesh; + interface SMESH_IDSource { /*! @@ -254,13 +259,26 @@ module SMESH /*! * Returns statistic of mesh elements - * Result array of number enityties + * @return array of number enityties by index of EntityType */ long_array GetMeshInfo(); + + /*! + * Returns types of elements it contains. + * It's empty if the SMESH_IDSource contains no IDs + */ + array_of_ElementType GetTypes(); + + /*! + * Returns the mesh + */ + SMESH_Mesh GetMesh(); }; interface SMESH_Group; interface SMESH_GroupOnGeom; + interface Filter; + interface SMESH_GroupOnFilter; interface SMESH_subMesh; interface SMESH_MeshEditor; @@ -314,15 +332,23 @@ module SMESH * Create a group */ SMESH_Group CreateGroup( in ElementType elem_type, - in string name ) + in string name ) raises (SALOME::SALOME_Exception); /*! - * Create a group from geometry group + * Create a group from geometry */ - SMESH_GroupOnGeom CreateGroupFromGEOM( in ElementType elem_type, - in string name, - in GEOM::GEOM_Object theGeomObject ) + SMESH_GroupOnGeom CreateGroupFromGEOM( in ElementType elemType, + in string name, + in GEOM::GEOM_Object geomObject ) + raises (SALOME::SALOME_Exception); + + /*! + * Create a group from filter + */ + SMESH_GroupOnFilter CreateGroupFromFilter( in ElementType elemType, + in string name, + in SMESH::Filter filter ) raises (SALOME::SALOME_Exception); /*! @@ -419,9 +445,9 @@ module SMESH raises (SALOME::SALOME_Exception); /*! - * Convert group on geometry into standalone group + * Convert group on geometry or on filter into standalone group */ - SMESH_Group ConvertToStandalone( in SMESH_GroupOnGeom theGeomGroup ) + SMESH_Group ConvertToStandalone( in SMESH_GroupBase theGroupOn ) raises (SALOME::SALOME_Exception); /*! @@ -520,6 +546,13 @@ module SMESH SMESH_MeshEditor GetMeshEditPreviewer() raises (SALOME::SALOME_Exception); + /*! + * Return true if the mesh has been edited since a total re-compute + * and those modifications may prevent successful partial re-compute + */ + boolean HasModificationsToDiscard() + raises (SALOME::SALOME_Exception); + /*! Check group names for duplications. * Consider maximum group name length stored in MED file. */ @@ -528,14 +561,31 @@ module SMESH /*! * Export Mesh to different MED Formats * @params + * - file : name of the MED file * - auto_groups : boolean parameter for creating/not creating * the groups Group_On_All_Nodes, Group_On_All_Faces, ... ; * the typical use is auto_groups=false. - * - theVersion : define the version of format of MED file, that will be created + * - version : define the version of format of MED file, that will be created * - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists */ - void ExportToMEDX( in string file, in boolean auto_groups, in MED_VERSION theVersion, in boolean overwrite ) - raises (SALOME::SALOME_Exception); + void ExportToMEDX( in string file, + in boolean auto_groups, + in MED_VERSION version, + in boolean overwrite ) raises (SALOME::SALOME_Exception); + + /*! + * Export a part of Mesh into a MED file + * @params + * - meshPart : a part of mesh to store + * - file : name of the MED file + * - version : define the version of format of MED file, that will be created + * - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists + */ + void ExportPartToMED( in SMESH_IDSource meshPart, + in string file, + in boolean auto_groups, + in MED_VERSION version, + in boolean overwrite ) raises (SALOME::SALOME_Exception); /*! * Export Mesh to different MED Formats @@ -563,12 +613,17 @@ module SMESH * Export Mesh to DAT, UNV and STL Formats * (UNV supported version is I-DEAS 10) */ - void ExportDAT( in string file ) - raises (SALOME::SALOME_Exception); - void ExportUNV( in string file ) - raises (SALOME::SALOME_Exception); - void ExportSTL( in string file, in boolean isascii ) - raises (SALOME::SALOME_Exception); + void ExportDAT( in string file ) raises (SALOME::SALOME_Exception); + void ExportUNV( in string file ) raises (SALOME::SALOME_Exception); + void ExportSTL( in string file, + in boolean isascii ) raises (SALOME::SALOME_Exception); + void ExportPartToDAT( in SMESH_IDSource meshPart, + in string file ) raises (SALOME::SALOME_Exception); + void ExportPartToUNV( in SMESH_IDSource meshPart, + in string file ) raises (SALOME::SALOME_Exception); + void ExportPartToSTL( in SMESH_IDSource meshPart, + in string file, + in boolean isascii ) raises (SALOME::SALOME_Exception); /*! * Get MED Mesh @@ -666,6 +721,9 @@ module SMESH ElementType GetElementType( in long id, in boolean iselem ) raises (SALOME::SALOME_Exception); + EntityType GetElementGeomType( in long id ) + raises (SALOME::SALOME_Exception); + long_array GetSubMeshElementsId(in long ShapeID) raises (SALOME::SALOME_Exception); @@ -771,6 +829,16 @@ module SMESH */ long ElemNbFaces(in long id); + /*! + * Returns nodes of given face (counted from zero) for given volumic element. + */ + long_array GetElemFaceNodes(in long elemId, in short faceIndex); + + /*! + * Returns an element based on all given nodes. + */ + long FindElementByNodes(in long_array nodes); + /*! * Returns true if given element is polygon */