X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_Mesh.idl;h=4796428fd1adbc97a1b16202f7e62c56f771384e;hp=b8d2b5e63e3a822a72ad65543e9c67d750fb999d;hb=7c7b4b0636cbb5fdb2ae67658ec9709be1c58812;hpb=f5016d85b7b4b88623723027a1585c6414c4dc66 diff --git a/idl/SMESH_Mesh.idl b/idl/SMESH_Mesh.idl index b8d2b5e63..4796428fd 100644 --- a/idl/SMESH_Mesh.idl +++ b/idl/SMESH_Mesh.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2013 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 @@ -29,7 +29,6 @@ #include "SALOME_Exception.idl" #include "SALOME_GenericObj.idl" #include "GEOM_Gen.idl" -#include "MED.idl" module SMESH { @@ -72,6 +71,7 @@ module SMESH ADD_QUADPENTAHEDRON, ADD_QUADHEXAHEDRON, ADD_ELEM0D, + ADD_BIQUAD_TRIANGLE, ADD_BIQUAD_QUADRANGLE, ADD_TRIQUAD_HEXA, ADD_HEXAGONAL_PRISM, @@ -85,6 +85,7 @@ module SMESH double_array coords; long_array indexes; }; + typedef sequence log_array; struct PointStruct { double x; double y; @@ -92,7 +93,7 @@ module SMESH typedef sequence nodes_array; - struct DirStruct { PointStruct PS ; } ; // analog to Occ Direction + struct DirStruct { PointStruct PS ; } ; // analog to OCCT gp_Vec struct AxisStruct { double x; double y; @@ -100,7 +101,6 @@ module SMESH double vx; double vy; double vz; } ; - /*! * Node location on a shape */ @@ -110,6 +110,14 @@ module SMESH double_array params; // [U] on EDGE, [U,V] on FACE, [] on the rest shapes }; + /*! + * Element location on a shape + */ + struct ElementPosition { + long shapeID; + GEOM::shape_type shapeType; + }; + /*! * Enumeration for element type, like in SMDS */ @@ -121,12 +129,13 @@ module SMESH FACE, VOLUME, ELEM0D, - BALL + BALL, + NB_ELEMENT_TYPES }; typedef sequence array_of_ElementType ; /*! - * Enumeration for element geometry type, like in SMDS + * Enumeration for element geometry type, like SMDSAbs_GeometryType in SMDSAbs_ElementType.hxx */ enum GeometryType { @@ -153,7 +162,6 @@ module SMESH ORDER_QUADRATIC /*! entities of 2nd order */ }; - /*! * Enumeration of entity type used in mesh info array, * it should be synchronised with enum SMDSAbs_EntityType @@ -166,6 +174,7 @@ module SMESH Entity_Quad_Edge, Entity_Triangle, Entity_Quad_Triangle, + Entity_BiQuad_Triangle, Entity_Quadrangle, Entity_Quad_Quadrangle, Entity_BiQuad_Quadrangle, @@ -187,7 +196,6 @@ module SMESH Entity_Last }; - /*! * Enumeration for hypothesis status (used by AddHypothesis() and RemoveHypothesis() methods) */ @@ -211,29 +219,37 @@ module SMESH }; /*! - * Enumeration for DriverMED read status (used by ImportMEDFile() method) + * Enumeration for mesh read status (used by SMESH_Gen::CreateMeshesFrom*() methods) */ enum DriverMED_ReadStatus // in the order of severity { DRS_OK, - DRS_EMPTY, // a MED file contains no mesh with the given name + DRS_EMPTY, // a file contains no mesh with the given name DRS_WARN_RENUMBER, // a MED file has overlapped ranges of element numbers, // so the numbers from the file are ignored DRS_WARN_SKIP_ELEM, // some elements were skipped due to incorrect file data + DRS_WARN_DESCENDING, // some elements were skipped due to descending connectivity DRS_FAIL // general failure (exception etc.) }; /*! - * Enumeration for DriverMED (used by Perform() method) + * Enumeration for ExportToMED*() */ - enum MED_VERSION // in the order of severity + enum MED_VERSION { MED_V2_1, MED_V2_2 }; - typedef sequence log_array; - + /*! + * \brief A structure containing information about MED file + */ + struct MedFileInfo + { + string fileName; //!< name of file + long fileSize; //!< size of file + long major, minor, release; //!< MED file version + }; /*! * Auxilary flags for advanced extrusion. @@ -269,11 +285,17 @@ module SMESH long_array GetIDs(); /*! - * Returns statistic of mesh elements - * @return array of number enityties by index of EntityType + * Returns number of mesh elements of each \a EntityType + * @return array of number of elements per \a EntityType */ long_array GetMeshInfo(); + /*! + * Returns number of mesh elements of each \a ElementType + * @return array of number of elements per \a ElementType + */ + long_array GetNbElementsByType(); + /*! * Returns types of elements it contains. * It's empty if the SMESH_IDSource contains no IDs @@ -505,8 +527,6 @@ module SMESH Hypothesis_Status AddHypothesis(in GEOM::GEOM_Object aSubObject, in SMESH_Hypothesis anHyp) raises (SALOME::SALOME_Exception); -// boolean AddHypothesis(in SMESH_subMesh aSubMesh, in SMESH_Hypothesis anHyp) -// raises (SALOME::SALOME_Exception); /*! * Remove an hypothesis previouly added with AddHypothesis. @@ -514,17 +534,12 @@ module SMESH Hypothesis_Status RemoveHypothesis(in GEOM::GEOM_Object aSubObject, in SMESH_Hypothesis anHyp) raises (SALOME::SALOME_Exception); -// boolean RemoveHypothesis(in SMESH_subMesh aSubMesh, -// in SMESH_Hypothesis anHyp) -// raises (SALOME::SALOME_Exception); /*! * Get the list of hypothesis added on a sub-shape */ ListOfHypothesis GetHypothesisList(in GEOM::GEOM_Object aSubObject) raises (SALOME::SALOME_Exception); -// ListOfHypothesis GetHypothesisList(in SMESH_subMesh aSubMesh) -// raises (SALOME::SALOME_Exception); /*! * Get the log of nodes and elements added or removed since previous @@ -532,8 +547,6 @@ module SMESH * @params * - clearAfterGet : log is emptied after Get (safe if concurrents access) */ - // string_array GetLog(in boolean clearAfterGet) - // raises (SALOME::SALOME_Exception); log_array GetLog(in boolean clearAfterGet) raises (SALOME::SALOME_Exception); @@ -594,19 +607,26 @@ module SMESH boolean HasDuplicatedGroupNamesMED(); /*! - * Export Mesh to different MED Formats + * Export Mesh to a MED Format file * @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. + * the groups Group_On_All_Nodes, Group_On_All_Faces, ... ; + * the typical use is auto_groups=false. * - 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 + * - autoDimension: if @c True (default), a space dimension of a MED mesh can be either + * - 1D if all mesh nodes lie on OX coordinate axis, or + * - 2D if all mesh nodes lie on XOY coordinate plane, or + * - 3D in the rest cases. + * + * If @a autoDimension is @c False, the space dimension is always 3. */ void ExportToMEDX( in string file, in boolean auto_groups, in MED_VERSION version, - in boolean overwrite ) raises (SALOME::SALOME_Exception); + in boolean overwrite, + in boolean autoDimension ) raises (SALOME::SALOME_Exception); /*! * Export a part of Mesh into a MED file @@ -615,15 +635,20 @@ module SMESH * - 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 + * - autoDimension: if @c True, a space dimension for export is defined by mesh + * configuration; for example a planar mesh lying on XOY plane + * will be exported as a mesh in 2D space. + * If @a autoDimension == @c False, the space dimension is 3. */ void ExportPartToMED( in SMESH_IDSource meshPart, in string file, in boolean auto_groups, in MED_VERSION version, - in boolean overwrite ) raises (SALOME::SALOME_Exception); + in boolean overwrite, + in boolean autoDimension ) raises (SALOME::SALOME_Exception); /*! - * Export Mesh to different MED Formats + * Export Mesh to a MED Format file * Works, just the same as ExportToMEDX, with overwrite parameter equal to true. * The method is kept in order to support old functionality */ @@ -663,7 +688,8 @@ module SMESH in string file, in boolean overwrite ) raises (SALOME::SALOME_Exception); void ExportGMF( in SMESH_IDSource meshPart, - in string file ) raises (SALOME::SALOME_Exception); + in string file, + in boolean withRequiredGroups) raises (SALOME::SALOME_Exception); void ExportPartToDAT( in SMESH_IDSource meshPart, in string file ) raises (SALOME::SALOME_Exception); void ExportPartToUNV( in SMESH_IDSource meshPart, @@ -671,12 +697,10 @@ module SMESH void ExportPartToSTL( in SMESH_IDSource meshPart, in string file, in boolean isascii ) raises (SALOME::SALOME_Exception); - /*! - * Get MED Mesh + * Return computation progress [0.,1] */ - SALOME_MED::MESH GetMEDMesh() - raises (SALOME::SALOME_Exception); + double GetComputeProgress(); /*! * Get informations about mesh contents @@ -711,6 +735,9 @@ module SMESH long NbTrianglesOfOrder(in ElementOrder order) raises (SALOME::SALOME_Exception); + long NbBiQuadTriangles() + raises (SALOME::SALOME_Exception); + long NbQuadrangles() raises (SALOME::SALOME_Exception); @@ -835,6 +862,11 @@ module SMESH */ NodePosition GetNodePosition(in long NodeID); + /*! + * \brief Return position of an element on shape + */ + ElementPosition GetElementPosition(in long ElemID); + /*! * If given element is node returns IDs of shape from position * If there is not node for given ID - returns -1 @@ -921,7 +953,7 @@ module SMESH double_array BaryCenter(in long id); /*! Gets information about imported MED file */ - SALOME_MED::MedFileInfo GetMEDFileInfo(); + MedFileInfo GetMEDFileInfo(); /*! * Sets list of notebook variables used for Mesh operations separated by ":" symbol @@ -994,12 +1026,6 @@ module SMESH * Get the internal Id */ long GetId(); - - /*! - * Get MED subMesh - */ - SALOME_MED::FAMILY GetFamily() - raises (SALOME::SALOME_Exception); }; };