X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSMESH_Gen.idl;h=f73a3a9d1491e9cbeaf42ba9c6e398c98cabc2a0;hb=52749e3d7f4b4b74e572406da8683ce3506dab2e;hp=76805579b03648717d3d5ee511d2becc86059ab8;hpb=d316b3a6233e6caa41955873025e3e9e554545f5;p=modules%2Fsmesh.git diff --git a/idl/SMESH_Gen.idl b/idl/SMESH_Gen.idl index 76805579b..f73a3a9d1 100644 --- a/idl/SMESH_Gen.idl +++ b/idl/SMESH_Gen.idl @@ -1,23 +1,23 @@ -// 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_Gen.idl // Author : Paul RASCLE, EDF @@ -41,6 +41,7 @@ module SMESH interface FilterManager; interface SMESH_Pattern; + interface Measurements; /*! * Tags definition @@ -69,12 +70,13 @@ module SMESH const long Tag_EdgeGroups = 12; const long Tag_FaceGroups = 13; const long Tag_VolumeGroups = 14; - const long Tag_LastGroup = 14; + const long Tag_0DElementsGroups = 15; + const long Tag_LastGroup = 15; /*! * Hypothesis definintion error */ - struct AlgoStateError + struct AlgoStateError { Hypothesis_Status state; string algoName; @@ -97,7 +99,7 @@ module SMESH COMPERR_MEMORY_PB , // memory allocation problem COMPERR_ALGO_FAILED , // computation failed COMPERR_BAD_SHAPE , // bad geometry - COMPERR_BAD_FACE // bad geometry + COMPERR_WARNING // algo reports error but sub-mesh is computed anyway }; struct ComputeError { @@ -110,7 +112,7 @@ module SMESH typedef sequence compute_error_array; - interface SMESH_Gen : Engines::Component, SALOMEDS::Driver + interface SMESH_Gen : Engines::EngineComponent, SALOMEDS::Driver { //GEOM::GEOM_Gen SetGeomEngine( in string containerLoc ); void SetGeomEngine( in GEOM::GEOM_Gen geomcompo ); @@ -119,6 +121,8 @@ module SMESH SMESH_Pattern GetPattern(); + Measurements CreateMeasurements(); + /*! Set the current mode */ @@ -147,7 +151,7 @@ module SMESH * Algorithms are 1D, 2D or 3D. */ SMESH_Hypothesis CreateHypothesis( in string theHypName, - in string theLibName ) + in string theLibName ) raises ( SALOME::SALOME_Exception ); /*! @@ -178,7 +182,7 @@ module SMESH * Set the object name */ void SetName( in string theObjectIOR, - in string theObjectName ) + in string theObjectName ) raises ( SALOME::SALOME_Exception ); /*! @@ -190,13 +194,13 @@ module SMESH */ SMESH_Mesh CreateMesh( in GEOM::GEOM_Object theObject ) raises ( SALOME::SALOME_Exception ); - + /*! * Create an empty mesh object */ SMESH_Mesh CreateEmptyMesh() raises ( SALOME::SALOME_Exception ); - + /*! * Create Mesh object importing data from given UNV file * (UNV supported version is I-DEAS 10) @@ -208,7 +212,7 @@ module SMESH * Create Mesh object(s) importing data from given MED file */ mesh_array CreateMeshesFromMED( in string theFileName, - out SMESH::DriverMED_ReadStatus theStatus ) + out SMESH::DriverMED_ReadStatus theStatus ) raises ( SALOME::SALOME_Exception ); /*! @@ -218,33 +222,80 @@ module SMESH raises ( SALOME::SALOME_Exception ); /*! - * Create a Mesh object, without a geometry shape reference + * Create Mesh object(s) importing data from given CGNS file + */ + mesh_array CreateMeshesFromCGNS( in string theFileName, + out SMESH::DriverMED_ReadStatus theStatus ) + raises ( SALOME::SALOME_Exception ); + + /*! + * Create a mesh by copying a part of another mesh + * \param meshPart - a part of mesh to copy + * \param meshName - a name of the new mesh + * \param toCopyGroups - to create in the new mesh groups + * the copied elements belongs to + * \param toKeepIDs - to preserve IDs of the copied elements or not + */ + SMESH_Mesh CopyMesh(in SMESH_IDSource meshPart, + in string meshName, + in boolean toCopyGroups, + in boolean toKeepIDs) + raises ( SALOME::SALOME_Exception ); + + /*! + * Concatenate the given meshes into one mesh. + * Union groups with the same name and type if + * theUniteIdenticalGroups flag is true. + * Merge coincident nodes and elements if + * theMergeNodesAndElements flag is true. */ -// SMESH_Mesh NewEmpty() -// raises ( SALOME::SALOME_Exception ); + SMESH_Mesh Concatenate(in mesh_array theMeshesArray, + in boolean theUniteIdenticalGroups, + in boolean theMergeNodesAndElements, + in double theMergeTolerance) + raises ( SALOME::SALOME_Exception ); /*! - * Mesh a subShape. + * Concatenate the given meshes into one mesh. + * Union groups with the same name and type if + * theUniteIdenticalGroups flag is true. + * Merge coincident nodes and elements if + * theMergeNodesAndElements flag is true. + * Create the groups of all elements from initial meshes. + */ + SMESH_Mesh ConcatenateWithGroups(in mesh_array theMeshesArray, + in boolean theUniteIdenticalGroups, + in boolean theMergeNodesAndElements, + in double theMergeTolerance) + raises ( SALOME::SALOME_Exception ); + + /*! + * Mesh a subShape. * First, verify list of hypothesis associated with the subShape, * return NOK if hypothesis are not sufficient */ - boolean Compute( in SMESH_Mesh theMesh, - in GEOM::GEOM_Object theSubObject ) + boolean Compute( in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theSubObject ) raises ( SALOME::SALOME_Exception ); + /*! + * Cancel a computation. + */ + void CancelCompute( in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theSubObject ); + /*! * Return true if hypotheses are defined well */ - boolean IsReadyToCompute( in SMESH_Mesh theMesh, - in GEOM::GEOM_Object theSubObject ) + boolean IsReadyToCompute( in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theSubObject ) raises ( SALOME::SALOME_Exception ); /*! * Evaluates size of prospective mesh on a shape */ - long_array Evaluate(in SMESH_Mesh theMesh, - in GEOM::GEOM_Object theSubObject) - //inout long_array theNbElems) + long_array Evaluate(in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theSubObject) raises ( SALOME::SALOME_Exception ); /*! @@ -252,17 +303,17 @@ module SMESH * First, verify list of hypothesis associated with the subShape. * Return mesh preview structure */ - MeshPreviewStruct Precompute( in SMESH_Mesh theMesh, - in GEOM::GEOM_Object theSubObject, - in Dimension theDimension, - inout long_array theShapesId ) + MeshPreviewStruct Precompute( in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theSubObject, + in Dimension theDimension, + inout long_array theShapesId ) raises ( SALOME::SALOME_Exception ); /*! * Return errors of hypotheses definintion * algo_error_array is empty if everything is OK */ - algo_error_array GetAlgoState( in SMESH_Mesh theMesh, + algo_error_array GetAlgoState( in SMESH_Mesh theMesh, in GEOM::GEOM_Object theSubObject ) raises ( SALOME::SALOME_Exception ); @@ -270,7 +321,7 @@ module SMESH * Return errors of mesh computation * compute_error_array is empty if everything is OK */ - compute_error_array GetComputeErrors( in SMESH_Mesh theMesh, + compute_error_array GetComputeErrors( in SMESH_Mesh theMesh, in GEOM::GEOM_Object theSubObject ) raises ( SALOME::SALOME_Exception ); @@ -291,7 +342,7 @@ module SMESH /*! * Return geometrical object the given element is built on. - * The returned geometrical object, if not nil, is either found in the + * The returned geometrical object, if not nil, is either found in the * study or is published by this method with the given name */ GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh theMesh, @@ -304,34 +355,7 @@ module SMESH * The returned geometrical object not published in study by this method. */ GEOM::GEOM_Object FindGeometryByMeshElement( in SMESH_Mesh theMesh, - in long theElementID) - raises ( SALOME::SALOME_Exception ); - - /*! - * Concatenate the given meshes into one mesh. - * Union groups with the same name and type if - * theUniteIdenticalGroups flag is true. - * Merge coincident nodes and elements if - * theMergeNodesAndElements flag is true. - */ - SMESH_Mesh Concatenate(in mesh_array theMeshesArray, - in boolean theUniteIdenticalGroups, - in boolean theMergeNodesAndElements, - in double theMergeTolerance) - raises ( SALOME::SALOME_Exception ); - - /*! - * Concatenate the given meshes into one mesh. - * Union groups with the same name and type if - * theUniteIdenticalGroups flag is true. - * Merge coincident nodes and elements if - * theMergeNodesAndElements flag is true. - * Create the groups of all elements from initial meshes. - */ - SMESH_Mesh ConcatenateWithGroups(in mesh_array theMeshesArray, - in boolean theUniteIdenticalGroups, - in boolean theMergeNodesAndElements, - in double theMergeTolerance) + in long theElementID) raises ( SALOME::SALOME_Exception ); /*!