X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSMESH_Mesh.idl;h=409bb4e6ec4ac3ded80a66a86a00e08a1152545f;hb=229db9cb6f60012e6a708b048d66aa0a715e82fe;hp=aedab6bcfecb29be5fcade8f131a9002e947d3c3;hpb=52749e3d7f4b4b74e572406da8683ce3506dab2e;p=modules%2Fsmesh.git diff --git a/idl/SMESH_Mesh.idl b/idl/SMESH_Mesh.idl index aedab6bcf..409bb4e6e 100644 --- a/idl/SMESH_Mesh.idl +++ b/idl/SMESH_Mesh.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2012 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 @@ -71,7 +71,11 @@ module SMESH ADD_QUADPYRAMID, ADD_QUADPENTAHEDRON, ADD_QUADHEXAHEDRON, - ADD_ELEM0D + ADD_ELEM0D, + ADD_BIQUAD_QUADRANGLE, + ADD_TRIQUAD_HEXA, + ADD_HEXAGONAL_PRISM, + ADD_BALL }; struct log_block @@ -116,7 +120,8 @@ module SMESH EDGE, FACE, VOLUME, - ELEM0D + ELEM0D, + BALL }; typedef sequence array_of_ElementType ; @@ -128,13 +133,15 @@ module SMESH Geom_POINT, Geom_EDGE, Geom_TRIANGLE, - Geom_QUADRANGLE, - Geom_POLYGON, + Geom_QUADRANGLE, // when a new GeometryType is added, please + Geom_POLYGON, // update a corresponding list in SMESH_2smeshpy.cxx, ln 665 Geom_TETRA, Geom_PYRAMID, Geom_HEXA, Geom_PENTA, - Geom_POLYHEDRA + Geom_HEXAGONAL_PRISM, + Geom_POLYHEDRA, + Geom_BALL }; /*! @@ -161,6 +168,7 @@ module SMESH Entity_Quad_Triangle, Entity_Quadrangle, Entity_Quad_Quadrangle, + Entity_BiQuad_Quadrangle, Entity_Polygon, Entity_Quad_Polygon, Entity_Tetra, @@ -169,10 +177,13 @@ module SMESH Entity_Quad_Pyramid, Entity_Hexa, Entity_Quad_Hexa, + Entity_TriQuad_Hexa, Entity_Penta, Entity_Quad_Penta, + Entity_Hexagonal_Prism, Entity_Polyhedra, Entity_Quad_Polyhedra, + Entity_Ball, Entity_Last }; @@ -194,7 +205,7 @@ module SMESH HYP_NOTCONFORM, // not conform mesh is produced appling a hypothesis HYP_ALREADY_EXIST,// such hypothesis already exist HYP_BAD_DIM, // bad dimension - HYP_BAD_SUBSHAPE, // shape is neither the main one, nor its subshape, nor a group + HYP_BAD_SUBSHAPE, // shape is neither the main one, nor its sub-shape, nor a group HYP_BAD_GEOMETRY, // geometry mismatches algorithm's expectation HYP_NEED_SHAPE // algorithm can work on shape only }; @@ -273,6 +284,12 @@ module SMESH * Returns the mesh */ SMESH_Mesh GetMesh(); + + /*! + * Returns false if GetMeshInfo() returns incorrect information that may + * happen if mesh data is not yet fully loaded from the file of study. + */ + boolean IsMeshInfoCorrect(); }; interface SMESH_Group; @@ -300,12 +317,30 @@ module SMESH GEOM::GEOM_Object GetShapeToMesh() raises (SALOME::SALOME_Exception); + /*! + * Return false if the mesh is not yet fully loaded from the study file + */ + boolean IsLoaded() + raises (SALOME::SALOME_Exception); + + /*! + * Load full mesh data from the study file + */ + void Load() + raises (SALOME::SALOME_Exception); + /*! * Remove all nodes and elements */ void Clear() raises (SALOME::SALOME_Exception); + /*! + * Get the list of sub-meshes existing in the mesh + */ + submesh_array GetSubMeshes() + raises (SALOME::SALOME_Exception); + /*! * Remove all nodes and elements of submesh */ @@ -313,9 +348,9 @@ module SMESH raises (SALOME::SALOME_Exception); /*! - * Get the subMesh object associated to a subShape. The subMesh object + * Get the subMesh object associated to a Sub-shape. The subMesh object * gives access to nodes and elements IDs. - * SubMesh will be used instead of SubShape in a next idl version to + * SubMesh will be used instead of Sub-shape in a next idl version to * adress a specific subMesh... */ SMESH_subMesh GetSubMesh(in GEOM::GEOM_Object aSubObject, in string name) @@ -451,20 +486,20 @@ module SMESH raises (SALOME::SALOME_Exception); /*! - * Add hypothesis to the mesh, under a particular subShape + * Add hypothesis to the mesh, under a particular Sub-shape * (or the main shape itself) * The Add method is only used to prepare the build of the mesh and store * the algorithms and associated parameters. * Actual job of mesh the shape is done by MESH_Gen. * @params - * - aSubShape : subShape obtained by a shape explode in GEOM + * - aSubShape : sub-shape obtained by a shape explode in GEOM * (or main shape) * - anHyp : hypothesis object * @return - * - OK if the hypothesis is compatible with the subShape - * (and all previous hypothesis on the subShape) - * - NOK if the hypothesis is not compatible with the subShape - * (or one previous hypothesis on the subShape) + * - OK if the hypothesis is compatible with the sub-shape + * (and all previous hypothesis on the sub-shape) + * - NOK if the hypothesis is not compatible with the sub-shape + * (or one previous hypothesis on the sub-shape) * raises exception if hypothesis has not been created */ Hypothesis_Status AddHypothesis(in GEOM::GEOM_Object aSubObject, @@ -484,7 +519,7 @@ module SMESH // raises (SALOME::SALOME_Exception); /*! - * Get the list of hypothesis added on a subShape + * Get the list of hypothesis added on a sub-shape */ ListOfHypothesis GetHypothesisList(in GEOM::GEOM_Object aSubObject) raises (SALOME::SALOME_Exception); @@ -604,6 +639,13 @@ module SMESH void ExportMED( in string file, in boolean auto_groups ) raises (SALOME::SALOME_Exception); + /*! + * Export Mesh to SAUV formatted file + * Write a temporary med file and use med2sauv + */ + void ExportSAUV( in string file, in boolean auto_groups ) + raises (SALOME::SALOME_Exception); + /*! * Return string representation of a MED file version comprising nbDigits */ @@ -646,6 +688,9 @@ module SMESH long Nb0DElements() raises (SALOME::SALOME_Exception); + long NbBalls() + raises (SALOME::SALOME_Exception); + long NbEdges() raises (SALOME::SALOME_Exception); @@ -670,6 +715,9 @@ module SMESH long NbQuadranglesOfOrder(in ElementOrder order) raises (SALOME::SALOME_Exception); + long NbBiQuadQuadrangles() + raises (SALOME::SALOME_Exception); + long NbPolygons() raises (SALOME::SALOME_Exception); @@ -691,6 +739,9 @@ module SMESH long NbHexasOfOrder(in ElementOrder order) raises (SALOME::SALOME_Exception); + long NbTriQuadraticHexas() + raises (SALOME::SALOME_Exception); + long NbPyramids() raises (SALOME::SALOME_Exception); @@ -703,6 +754,9 @@ module SMESH long NbPrismsOfOrder(in ElementOrder order) raises (SALOME::SALOME_Exception); + long NbHexagonalPrisms() + raises (SALOME::SALOME_Exception); + long NbPolyhedrons() raises (SALOME::SALOME_Exception); @@ -852,6 +906,11 @@ module SMESH */ boolean IsQuadratic(in long id); + /*! + * Returns diameter of a ball discrete element or zero in case of an invalid \a id + */ + double GetBallDiameter(in long id); + /*! * Returns XYZ coordinates of bary center for given element * as list of double