1 // Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 // File : SMESH_Mesh.idl
24 // Author : Paul RASCLE, EDF
26 #ifndef _SMESH_MESH_IDL_
27 #define _SMESH_MESH_IDL_
29 #include "SALOME_Exception.idl"
30 #include "SALOME_GenericObj.idl"
31 #include "GEOM_Gen.idl"
35 interface SMESH_Hypothesis;
36 typedef sequence<SMESH_Hypothesis> ListOfHypothesis;
37 interface SMESH_GroupBase;
38 typedef sequence<SMESH_GroupBase> ListOfGroups;
39 interface SMESH_IDSource;
40 typedef sequence<SMESH_IDSource> ListOfIDSources;
42 typedef sequence<double > double_array ;
43 typedef sequence<long > long_array ;
44 typedef sequence<string > string_array ;
45 typedef sequence<long_array> array_of_long_array ;
63 CHANGE_POLYHEDRON_NODES,
75 ADD_BIQUAD_QUADRANGLE,
88 typedef sequence<log_block> log_array;
90 struct PointStruct { double x;
94 typedef sequence<PointStruct> nodes_array;
96 struct DirStruct { PointStruct PS ; } ; // analog to OCCT gp_Vec
98 struct AxisStruct { double x;
105 * Node location on a shape
107 struct NodePosition {
109 GEOM::shape_type shapeType;
110 double_array params; // [U] on EDGE, [U,V] on FACE, [] on the rest shapes
114 * Element location on a shape
116 struct ElementPosition {
118 GEOM::shape_type shapeType;
122 * Enumeration for element type, like in SMDS
134 typedef sequence<ElementType> array_of_ElementType ;
137 * Enumeration for element geometry type, like SMDSAbs_GeometryType in SMDSAbs_ElementType.hxx
144 Geom_QUADRANGLE, // when a new GeometryType is added, please
145 Geom_POLYGON, // update a corresponding list in SMESH_2smeshpy.cxx, ln 665
150 Geom_HEXAGONAL_PRISM,
156 * ElementOrder points out entities of what order are requested
159 ORDER_ANY, /*! entities of any order */
160 ORDER_LINEAR, /*! entities of 1st order */
161 ORDER_QUADRATIC /*! entities of 2nd order */
165 * Enumeration of entity type used in mesh info array,
166 * it should be synchronised with enum SMDSAbs_EntityType
175 Entity_Quad_Triangle,
176 Entity_BiQuad_Triangle,
178 Entity_Quad_Quadrangle,
179 Entity_BiQuad_Quadrangle,
191 Entity_Hexagonal_Prism,
193 Entity_Quad_Polyhedra,
199 * Enumeration for hypothesis status (used by AddHypothesis() and RemoveHypothesis() methods)
201 enum Hypothesis_Status // in the order of severity
204 HYP_MISSING, // algo misses a hypothesis
205 HYP_CONCURENT, // several applicable hypotheses
206 HYP_BAD_PARAMETER,// hypothesis has a bad parameter value
207 HYP_HIDDEN_ALGO, // an algo is hidden by an upper dim algo generating all-dim elements
208 HYP_HIDING_ALGO, // an algo hides lower dim algos by generating all-dim elements
209 HYP_UNKNOWN_FATAL,// --- all statuses below should be considered as fatal
210 // for Add/RemoveHypothesis operations
211 HYP_INCOMPATIBLE, // hypothesis does not fit algo
212 HYP_NOTCONFORM, // not conform mesh is produced appling a hypothesis
213 HYP_ALREADY_EXIST,// such hypothesis already exist
214 HYP_BAD_DIM, // bad dimension
215 HYP_BAD_SUBSHAPE, // shape is neither the main one, nor its sub-shape, nor a group
216 HYP_BAD_GEOMETRY, // geometry mismatches algorithm's expectation
217 HYP_NEED_SHAPE // algorithm can work on shape only
221 * Enumeration for mesh read status (used by SMESH_Gen::CreateMeshesFrom*() methods)
223 enum DriverMED_ReadStatus // in the order of severity
226 DRS_EMPTY, // a file contains no mesh with the given name
227 DRS_WARN_RENUMBER, // a MED file has overlapped ranges of element numbers,
228 // so the numbers from the file are ignored
229 DRS_WARN_SKIP_ELEM, // some elements were skipped due to incorrect file data
230 DRS_WARN_DESCENDING, // some elements were skipped due to descending connectivity
231 DRS_FAIL // general failure (exception etc.)
235 * Enumeration for ExportToMED*()
244 * \brief A structure containing information about MED file
248 string fileName; //!< name of file
249 long fileSize; //!< size of file
250 long major, minor, release; //!< MED file version
254 * Auxilary flags for advanced extrusion.
255 * BOUNDARY: create or not boundary for result of extrusion
256 * SEW: try to use existing nodes or create new nodes in any case
258 const long EXTRUSION_FLAG_BOUNDARY = 1;
259 const long EXTRUSION_FLAG_SEW = 2;
262 * Structure used in mesh edit preview data (MeshPreviewStruct)
264 struct ElementSubType { ElementType SMDS_ElementType;
266 long nbNodesInElement; };
268 typedef sequence<ElementSubType> types_array;
271 * Structure containing mesh edit preview data
273 struct MeshPreviewStruct { nodes_array nodesXYZ;
274 long_array elementConnectivities;
275 types_array elementTypes; };
277 interface SMESH_Mesh;
279 interface SMESH_IDSource
282 * Returns a sequence of all element IDs
287 * Returns statistic of mesh elements
288 * @return array of number enityties by index of EntityType
290 long_array GetMeshInfo();
293 * Returns types of elements it contains.
294 * It's empty if the SMESH_IDSource contains no IDs
296 array_of_ElementType GetTypes();
301 SMESH_Mesh GetMesh();
304 * Returns false if GetMeshInfo() returns incorrect information that may
305 * happen if mesh data is not yet fully loaded from the file of study.
307 boolean IsMeshInfoCorrect();
310 interface SMESH_Group;
311 interface SMESH_GroupOnGeom;
313 interface SMESH_GroupOnFilter;
314 interface SMESH_subMesh;
315 interface SMESH_MeshEditor;
317 typedef sequence<SMESH_subMesh> submesh_array;
318 typedef sequence<submesh_array> submesh_array_array;
320 interface SMESH_Mesh : SALOME::GenericObj, SMESH_IDSource
323 * Return true if there is a geometry to be meshed
325 boolean HasShapeToMesh()
326 raises (SALOME::SALOME_Exception);
329 * Get geom shape to mesh. A result sould not be nil. Use HasShapeToMesh()
330 * to know if a returned shape
332 GEOM::GEOM_Object GetShapeToMesh()
333 raises (SALOME::SALOME_Exception);
336 * Return false if the mesh is not yet fully loaded from the study file
339 raises (SALOME::SALOME_Exception);
342 * Load full mesh data from the study file
345 raises (SALOME::SALOME_Exception);
348 * Remove all nodes and elements
351 raises (SALOME::SALOME_Exception);
354 * Get the list of sub-meshes existing in the mesh
356 submesh_array GetSubMeshes()
357 raises (SALOME::SALOME_Exception);
360 * Remove all nodes and elements of submesh
362 void ClearSubMesh(in long ShapeID)
363 raises (SALOME::SALOME_Exception);
366 * Get the subMesh object associated to a Sub-shape. The subMesh object
367 * gives access to nodes and elements IDs.
368 * SubMesh will be used instead of Sub-shape in a next idl version to
369 * adress a specific subMesh...
371 SMESH_subMesh GetSubMesh(in GEOM::GEOM_Object aSubObject, in string name)
372 raises (SALOME::SALOME_Exception);
377 void RemoveSubMesh(in SMESH_subMesh aSubMesh)
378 raises (SALOME::SALOME_Exception);
384 SMESH_Group CreateGroup( in ElementType elem_type,
386 raises (SALOME::SALOME_Exception);
389 * Create a group from geometry
391 SMESH_GroupOnGeom CreateGroupFromGEOM( in ElementType elemType,
393 in GEOM::GEOM_Object geomObject )
394 raises (SALOME::SALOME_Exception);
397 * Create a group from filter
399 SMESH_GroupOnFilter CreateGroupFromFilter( in ElementType elemType,
401 in SMESH::Filter filter )
402 raises (SALOME::SALOME_Exception);
407 void RemoveGroup(in SMESH_GroupBase aGroup)
408 raises (SALOME::SALOME_Exception);
411 * Remove group with its contents
413 void RemoveGroupWithContents( in SMESH_GroupBase aGroup )
414 raises (SALOME::SALOME_Exception);
417 * Get the list of groups existing in the mesh
419 ListOfGroups GetGroups()
420 raises (SALOME::SALOME_Exception);
423 * Get number of groups existing in the mesh
426 raises (SALOME::SALOME_Exception);
429 * Union of two groups
430 * New group is created. All mesh elements that are
431 * present in initial groups are added to the new one
433 SMESH_Group UnionGroups (in SMESH_GroupBase aGroup1,
434 in SMESH_GroupBase aGroup2,
436 raises (SALOME::SALOME_Exception);
439 * Union of list of groups
440 * New group is created. All mesh elements that are
441 * present in initial groups are added to the new one
443 SMESH_Group UnionListOfGroups (in ListOfGroups aListOfGroups,
445 raises (SALOME::SALOME_Exception);
448 * Intersection of two groups
449 * New group is created. All mesh elements that are
450 * present in both initial groups are added to the new one.
452 SMESH_Group IntersectGroups (in SMESH_GroupBase aGroup1,
453 in SMESH_GroupBase aGroup2,
455 raises (SALOME::SALOME_Exception);
458 * Intersection of list of groups
459 * New group is created. All mesh elements that are
460 * present in all initial groups simultaneously are added to the new one.
462 SMESH_Group IntersectListOfGroups (in ListOfGroups aListOfGroups,
464 raises (SALOME::SALOME_Exception);
468 * New group is created. All mesh elements that are present in
469 * main group but do not present in tool group are added to the new one
471 SMESH_Group CutGroups (in SMESH_GroupBase aMainGroup,
472 in SMESH_GroupBase aToolGroup,
474 raises (SALOME::SALOME_Exception);
477 * Cut of lists of groups
478 * New group is created. All mesh elements that are present in
479 * main groups but do not present in tool groups are added to the new one
481 SMESH_Group CutListOfGroups (in ListOfGroups aMainGroups,
482 in ListOfGroups aToolGroups,
484 raises (SALOME::SALOME_Exception);
487 * Create groups of entities from existing groups of superior dimensions
488 * New group is created. System
489 * 1) extracts all nodes from each group,
490 * 2) combines all elements of specified dimension laying on these nodes.
492 SMESH_Group CreateDimGroup( in ListOfGroups aListOfGroups,
493 in ElementType anElemType,
495 raises (SALOME::SALOME_Exception);
498 * Convert group on geometry or on filter into standalone group
500 SMESH_Group ConvertToStandalone( in SMESH_GroupBase theGroupOn )
501 raises (SALOME::SALOME_Exception);
504 * Add hypothesis to the mesh, under a particular Sub-shape
505 * (or the main shape itself)
506 * The Add method is only used to prepare the build of the mesh and store
507 * the algorithms and associated parameters.
508 * Actual job of mesh the shape is done by MESH_Gen.
510 * - aSubShape : sub-shape obtained by a shape explode in GEOM
512 * - anHyp : hypothesis object
514 * - OK if the hypothesis is compatible with the sub-shape
515 * (and all previous hypothesis on the sub-shape)
516 * - NOK if the hypothesis is not compatible with the sub-shape
517 * (or one previous hypothesis on the sub-shape)
518 * raises exception if hypothesis has not been created
520 Hypothesis_Status AddHypothesis(in GEOM::GEOM_Object aSubObject,
521 in SMESH_Hypothesis anHyp)
522 raises (SALOME::SALOME_Exception);
525 * Remove an hypothesis previouly added with AddHypothesis.
527 Hypothesis_Status RemoveHypothesis(in GEOM::GEOM_Object aSubObject,
528 in SMESH_Hypothesis anHyp)
529 raises (SALOME::SALOME_Exception);
532 * Get the list of hypothesis added on a sub-shape
534 ListOfHypothesis GetHypothesisList(in GEOM::GEOM_Object aSubObject)
535 raises (SALOME::SALOME_Exception);
538 * Get the log of nodes and elements added or removed since previous
541 * - clearAfterGet : log is emptied after Get (safe if concurrents access)
543 log_array GetLog(in boolean clearAfterGet)
544 raises (SALOME::SALOME_Exception);
547 * Clear the log of nodes and elements added or removed since previous
548 * clear. Must be used immediately after GetLog if clearAfterGet is false.
551 raises (SALOME::SALOME_Exception);
554 * Toggle auto color mode on the object.
556 * - theAutoColor : flag which toggles auto color mode.
558 void SetAutoColor(in boolean theAutoColor)
559 raises (SALOME::SALOME_Exception);
562 * Get flag of object's auto color mode.
564 boolean GetAutoColor()
565 raises (SALOME::SALOME_Exception);
568 * Get the internal Id
578 * Obtain instance of SMESH_MeshEditor
580 SMESH_MeshEditor GetMeshEditor()
581 raises (SALOME::SALOME_Exception);
584 * Return SMESH_MeshEditor that would not modify the mesh but
585 * fill MeshPreviewStruct
587 SMESH_MeshEditor GetMeshEditPreviewer()
588 raises (SALOME::SALOME_Exception);
591 * Return true if the mesh has been edited since a total re-compute
592 * and those modifications may prevent successful partial re-compute
594 boolean HasModificationsToDiscard()
595 raises (SALOME::SALOME_Exception);
597 /*! Check group names for duplications.
598 * Consider maximum group name length stored in MED file.
600 boolean HasDuplicatedGroupNamesMED();
603 * Export Mesh to a MED Format file
605 * - file : name of the MED file
606 * - auto_groups : boolean parameter for creating/not creating
607 * the groups Group_On_All_Nodes, Group_On_All_Faces, ... ;
608 * the typical use is auto_groups=false.
609 * - version : define the version of format of MED file, that will be created
610 * - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists
611 * - autoDimension: if @c True (default), a space dimension of a MED mesh can be either
612 * - 1D if all mesh nodes lie on OX coordinate axis, or
613 * - 2D if all mesh nodes lie on XOY coordinate plane, or
614 * - 3D in the rest cases.
616 * If @a autoDimension is @c False, the space dimension is always 3.
618 void ExportToMEDX( in string file,
619 in boolean auto_groups,
620 in MED_VERSION version,
621 in boolean overwrite,
622 in boolean autoDimension ) raises (SALOME::SALOME_Exception);
625 * Export a part of Mesh into a MED file
627 * - meshPart : a part of mesh to store
628 * - file : name of the MED file
629 * - version : define the version of format of MED file, that will be created
630 * - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists
631 * - autoDimension: if @c True, a space dimension for export is defined by mesh
632 * configuration; for example a planar mesh lying on XOY plane
633 * will be exported as a mesh in 2D space.
634 * If @a autoDimension == @c False, the space dimension is 3.
636 void ExportPartToMED( in SMESH_IDSource meshPart,
638 in boolean auto_groups,
639 in MED_VERSION version,
640 in boolean overwrite,
641 in boolean autoDimension ) raises (SALOME::SALOME_Exception);
644 * Export Mesh to a MED Format file
645 * Works, just the same as ExportToMEDX, with overwrite parameter equal to true.
646 * The method is kept in order to support old functionality
648 void ExportToMED( in string file, in boolean auto_groups, in MED_VERSION theVersion )
649 raises (SALOME::SALOME_Exception);
652 * Export Mesh to MED_V2_1 MED format
653 * Works, just the same as ExportToMEDX with MED_VERSION parameter equal to MED_V2_1
654 * and overwrite parameter equal to true
655 * The method is kept in order to support old functionality
657 void ExportMED( in string file, in boolean auto_groups )
658 raises (SALOME::SALOME_Exception);
661 * Export Mesh to SAUV formatted file
662 * Write a temporary med file and use med2sauv
664 void ExportSAUV( in string file, in boolean auto_groups )
665 raises (SALOME::SALOME_Exception);
668 * Return string representation of a MED file version comprising nbDigits
670 string GetVersionString(in MED_VERSION version, in short nbDigits);
673 * Export Mesh to different Formats
674 * (UNV supported version is I-DEAS 10)
676 void ExportDAT( in string file ) raises (SALOME::SALOME_Exception);
677 void ExportUNV( in string file ) raises (SALOME::SALOME_Exception);
678 void ExportSTL( in string file,
679 in boolean isascii ) raises (SALOME::SALOME_Exception);
680 void ExportCGNS( in SMESH_IDSource meshPart,
682 in boolean overwrite ) raises (SALOME::SALOME_Exception);
683 void ExportGMF( in SMESH_IDSource meshPart,
685 in boolean withRequiredGroups) raises (SALOME::SALOME_Exception);
686 void ExportPartToDAT( in SMESH_IDSource meshPart,
687 in string file ) raises (SALOME::SALOME_Exception);
688 void ExportPartToUNV( in SMESH_IDSource meshPart,
689 in string file ) raises (SALOME::SALOME_Exception);
690 void ExportPartToSTL( in SMESH_IDSource meshPart,
692 in boolean isascii ) raises (SALOME::SALOME_Exception);
695 * Get informations about mesh contents
698 raises (SALOME::SALOME_Exception);
701 raises (SALOME::SALOME_Exception);
704 raises (SALOME::SALOME_Exception);
707 raises (SALOME::SALOME_Exception);
710 raises (SALOME::SALOME_Exception);
712 long NbEdgesOfOrder(in ElementOrder order)
713 raises (SALOME::SALOME_Exception);
716 raises (SALOME::SALOME_Exception);
718 long NbFacesOfOrder(in ElementOrder order)
719 raises (SALOME::SALOME_Exception);
722 raises (SALOME::SALOME_Exception);
724 long NbTrianglesOfOrder(in ElementOrder order)
725 raises (SALOME::SALOME_Exception);
727 long NbBiQuadTriangles()
728 raises (SALOME::SALOME_Exception);
731 raises (SALOME::SALOME_Exception);
733 long NbQuadranglesOfOrder(in ElementOrder order)
734 raises (SALOME::SALOME_Exception);
736 long NbBiQuadQuadrangles()
737 raises (SALOME::SALOME_Exception);
740 raises (SALOME::SALOME_Exception);
743 raises (SALOME::SALOME_Exception);
745 long NbVolumesOfOrder(in ElementOrder order)
746 raises (SALOME::SALOME_Exception);
749 raises (SALOME::SALOME_Exception);
751 long NbTetrasOfOrder(in ElementOrder order)
752 raises (SALOME::SALOME_Exception);
755 raises (SALOME::SALOME_Exception);
757 long NbHexasOfOrder(in ElementOrder order)
758 raises (SALOME::SALOME_Exception);
760 long NbTriQuadraticHexas()
761 raises (SALOME::SALOME_Exception);
764 raises (SALOME::SALOME_Exception);
766 long NbPyramidsOfOrder(in ElementOrder order)
767 raises (SALOME::SALOME_Exception);
770 raises (SALOME::SALOME_Exception);
772 long NbPrismsOfOrder(in ElementOrder order)
773 raises (SALOME::SALOME_Exception);
775 long NbHexagonalPrisms()
776 raises (SALOME::SALOME_Exception);
779 raises (SALOME::SALOME_Exception);
782 raises (SALOME::SALOME_Exception);
784 long_array GetElementsId()
785 raises (SALOME::SALOME_Exception);
787 long_array GetElementsByType( in ElementType theType )
788 raises (SALOME::SALOME_Exception);
790 long_array GetNodesId()
791 raises (SALOME::SALOME_Exception);
794 * Returns type of mesh element
796 ElementType GetElementType( in long id, in boolean iselem )
797 raises (SALOME::SALOME_Exception);
799 EntityType GetElementGeomType( in long id )
800 raises (SALOME::SALOME_Exception);
802 long_array GetSubMeshElementsId(in long ShapeID)
803 raises (SALOME::SALOME_Exception);
805 long_array GetSubMeshNodesId(in long ShapeID, in boolean all )
806 raises (SALOME::SALOME_Exception);
808 ElementType GetSubMeshElementType(in long ShapeID)
809 raises (SALOME::SALOME_Exception);
813 * Methods to set meshing order of submeshes
817 * \brief Return submesh objects list in meshing order
819 submesh_array_array GetMeshOrder();
822 * \brief Set submesh object order
824 boolean SetMeshOrder(in submesh_array_array theSubMeshArray);
828 * Get mesh description
835 long long GetMeshPtr();
838 * Get XYZ coordinates of node as list of double
839 * If there is not node for given ID - returns empty list
841 double_array GetNodeXYZ(in long id);
844 * For given node returns list of IDs of inverse elements
845 * If there is not node for given ID - returns empty list
847 long_array GetNodeInverseElements(in long id);
850 * \brief Return position of a node on shape
852 NodePosition GetNodePosition(in long NodeID);
855 * \brief Return position of an element on shape
857 ElementPosition GetElementPosition(in long ElemID);
860 * If given element is node returns IDs of shape from position
861 * If there is not node for given ID - returns -1
863 long GetShapeID(in long id);
866 * For given element returns ID of result shape after
867 * ::FindShape() from SMESH_MeshEditor
868 * If there is not element for given ID - returns -1
870 long GetShapeIDForElem(in long id);
873 * Returns number of nodes for given element
874 * If there is not element for given ID - returns -1
876 long GetElemNbNodes(in long id);
879 * Returns IDs of nodes of given element
881 long_array GetElemNodes(in long id);
884 * Returns ID of node by given index for given element
885 * If there is not element for given ID - returns -1
886 * If there is not node for given index - returns -2
888 long GetElemNode(in long id, in long index);
891 * Returns true if given node is medium node
892 * in given quadratic element
894 boolean IsMediumNode(in long ide, in long idn);
897 * Returns true if given node is medium node
898 * in one of quadratic elements
900 boolean IsMediumNodeOfAnyElem(in long idn, in ElementType elem_type);
903 * Returns number of edges for given element
905 long ElemNbEdges(in long id);
908 * Returns number of faces for given element
910 long ElemNbFaces(in long id);
913 * Returns nodes of given face (counted from zero) for given volumic element.
915 long_array GetElemFaceNodes(in long elemId, in short faceIndex);
918 * Returns an element based on all given nodes.
920 long FindElementByNodes(in long_array nodes);
923 * Returns true if given element is polygon
925 boolean IsPoly(in long id);
928 * Returns true if given element is quadratic
930 boolean IsQuadratic(in long id);
933 * Returns diameter of a ball discrete element or zero in case of an invalid \a id
935 double GetBallDiameter(in long id);
938 * Returns XYZ coordinates of bary center for given element
940 * If there is not element for given ID - returns empty list
942 double_array BaryCenter(in long id);
944 /*! Gets information about imported MED file */
945 MedFileInfo GetMEDFileInfo();
948 * Sets list of notebook variables used for Mesh operations separated by ":" symbol
949 * \param theParameters is a string containing the notebook variables
951 void SetParameters (in string theParameters);
954 * Returns list of notebook variables used for Mesh operations separated by ":" symbol
956 string GetParameters();
959 * Returns list of notebook variables used for last Mesh operation
961 string_array GetLastParameters();
964 interface SMESH_subMesh : SALOME::GenericObj, SMESH_IDSource
969 long GetNumberOfElements()
970 raises (SALOME::SALOME_Exception);
975 long GetNumberOfNodes( in boolean all )
976 raises (SALOME::SALOME_Exception);
981 long_array GetElementsId()
982 raises (SALOME::SALOME_Exception);
987 long_array GetElementsByType( in ElementType theType )
988 raises (SALOME::SALOME_Exception);
991 * Return type of submesh element
993 ElementType GetElementType( in long id, in boolean iselem )
994 raises (SALOME::SALOME_Exception);
999 long_array GetNodesId()
1000 raises (SALOME::SALOME_Exception);
1003 * Get geom shape the submesh is dedicated to
1005 GEOM::GEOM_Object GetSubShape()
1006 raises (SALOME::SALOME_Exception);
1009 * Get SMESH_Mesh which stores nodes coordinates & elements definition
1011 SMESH_Mesh GetFather()
1012 raises (SALOME::SALOME_Exception);
1015 * Get the internal Id