Version: 9.12.0
SMESH_Mesh.idl
Go to the documentation of this file.
1 // Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
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, or (at your option) any later version.
10 //
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.
15 //
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
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 
23 // File : SMESH_Mesh.idl
24 // Author : Paul RASCLE, EDF
25 //
26 #ifndef _SMESH_MESH_IDL_
27 #define _SMESH_MESH_IDL_
28 
29 #include "SALOME_Exception.idl"
30 #include "SALOME_GenericObj.idl"
31 #include "GEOM_Gen.idl"
32 #include "SMESH_smIdType.idl"
33 
34 module SMESH
35 {
36  interface SMESH_Hypothesis;
37  typedef sequence<SMESH_Hypothesis> ListOfHypothesis;
38  interface SMESH_GroupBase;
39  typedef sequence<SMESH_GroupBase> ListOfGroups;
40  interface SMESH_IDSource;
41  typedef sequence<SMESH_IDSource> ListOfIDSources;
42 
43  typedef sequence<double > double_array ;
44  typedef sequence<long > long_array ;
45  typedef sequence<smIdType > smIdType_array ;
46  typedef sequence<string > string_array ;
47  typedef sequence<long_array> array_of_long_array ;
48 
50  {
81  ADD_BALL
82  };
83 
84  struct log_block
85  {
87  long number;
90  };
91  typedef sequence<log_block> log_array;
92 
93  struct PointStruct { double x;
94  double y;
95  double z; };
96 
97  typedef sequence<PointStruct> nodes_array;
98 
99  struct DirStruct { PointStruct PS; }; // analog to OCCT gp_Vec
100 
101  struct AxisStruct { double x;
102  double y;
103  double z;
104  double vx;
105  double vy;
106  double vz; };
110  struct NodePosition {
111  long shapeID;
112  GEOM::shape_type shapeType;
113  double_array params; // [U] on EDGE, [U,V] on FACE, [] on the rest shapes
114  };
115 
120  long shapeID;
121  GEOM::shape_type shapeType;
122  };
123 
128  {
137  };
138  typedef sequence<ElementType> array_of_ElementType;
139 
144  {
148  Geom_QUADRANGLE, // when a new GeometryType is added, please
149  Geom_POLYGON, // update a corresponding list in SMESH_2smeshpy.cxx, ln 665
157  Geom_LAST
158  };
159 
167  };
168 
174  {
202  };
203 
207  enum Hypothesis_Status // in the order of severity
208  {
210  HYP_MISSING, // algo misses a hypothesis
211  HYP_CONCURRENT, // several applicable hypotheses
212  HYP_BAD_PARAMETER,// hypothesis has a bad parameter value
213  HYP_HIDDEN_ALGO, // an algo is hidden by an upper dim algo generating all-dim elements
214  HYP_HIDING_ALGO, // an algo hides lower dim algos by generating all-dim elements
215  HYP_UNKNOWN_FATAL,// --- all statuses below should be considered as fatal
216  // for Add/RemoveHypothesis operations
217  HYP_INCOMPATIBLE, // hypothesis does not fit algo
218  HYP_NOTCONFORM, // not conform mesh is produced applying a hypothesis
219  HYP_ALREADY_EXIST,// such hypothesis already exist
220  HYP_BAD_DIM, // bad dimension
221  HYP_BAD_SUBSHAPE, // shape is neither the main one, nor its sub-shape, nor a group
222  HYP_BAD_GEOMETRY, // geometry mismatches algorithm's expectation
223  HYP_NEED_SHAPE, // algorithm can work on shape only
224  HYP_INCOMPAT_HYPS // several additional hypotheses are incompatible one with other
225  };
226 
230  enum DriverMED_ReadStatus // in the order of severity
231  {
233  DRS_EMPTY, // a file contains no mesh with the given name
234  DRS_WARN_RENUMBER, // a MED file has overlapped ranges of element numbers,
235  // so the numbers from the file are ignored
236  DRS_WARN_SKIP_ELEM, // some elements were skipped due to incorrect file data
237  DRS_WARN_DESCENDING, // some elements were skipped due to descending connectivity
238  DRS_FAIL // general failure (exception etc.)
239  };
240 
244  struct MedFileInfo
245  {
246  string fileName;
247  long fileSize;
248  long major, minor, release;
249  };
250 
255  {
257  };
258 
264  const long EXTRUSION_FLAG_BOUNDARY = 1;
265  const long EXTRUSION_FLAG_SEW = 2;
266 
271  boolean isPoly;
273 
274  typedef sequence<ElementSubType> types_array;
275 
282 
283  interface SMESH_Mesh;
284 
285  interface SMESH_IDSource : SALOME::GenericObj
286  {
291 
297 
303 
309 
314 
319  boolean IsMeshInfoCorrect();
320 
324  SALOMEDS::TMPFile GetVtkUgStream();
325  };
326 
327  interface SMESH_Group;
328  interface SMESH_GroupOnGeom;
329  interface Filter;
330  interface SMESH_GroupOnFilter;
331  interface SMESH_subMesh;
332  interface SMESH_MeshEditor;
333 
334  typedef sequence<SMESH_subMesh> submesh_array;
335  typedef sequence<submesh_array> submesh_array_array;
336 
338  {
342  boolean HasShapeToMesh()
343  raises (SALOME::SALOME_Exception);
344 
349  GEOM::GEOM_Object GetShapeToMesh()
350  raises (SALOME::SALOME_Exception);
351 
355  void ReplaceShape(in GEOM::GEOM_Object theNewGeom)
356  raises (SALOME::SALOME_Exception);
357 
361  boolean IsLoaded()
362  raises (SALOME::SALOME_Exception);
363 
367  void Load()
368  raises (SALOME::SALOME_Exception);
369 
373  void Clear()
374  raises (SALOME::SALOME_Exception);
375 
379  submesh_array GetSubMeshes()
380  raises (SALOME::SALOME_Exception);
381 
385  void ClearSubMesh(in long ShapeID)
386  raises (SALOME::SALOME_Exception);
387 
394  SMESH_subMesh GetSubMesh(in GEOM::GEOM_Object aSubObject, in string name)
395  raises (SALOME::SALOME_Exception);
396 
400  void RemoveSubMesh(in SMESH_subMesh aSubMesh)
401  raises (SALOME::SALOME_Exception);
402 
403 
407  SMESH_Group CreateGroup( in ElementType elem_type,
408  in string name )
409  raises (SALOME::SALOME_Exception);
410 
414  SMESH_GroupOnGeom CreateGroupFromGEOM( in ElementType elemType,
415  in string name,
416  in GEOM::GEOM_Object geomObject )
417  raises (SALOME::SALOME_Exception);
418 
422  SMESH_GroupOnFilter CreateGroupFromFilter( in ElementType elemType,
423  in string name,
424  in SMESH::Filter filter )
425  raises (SALOME::SALOME_Exception);
426 
430  void RemoveGroup(in SMESH_GroupBase aGroup)
431  raises (SALOME::SALOME_Exception);
432 
436  void RemoveGroupWithContents( in SMESH_GroupBase aGroup )
437  raises (SALOME::SALOME_Exception);
438 
443  raises (SALOME::SALOME_Exception);
444 
448  long NbGroups()
449  raises (SALOME::SALOME_Exception);
450 
456  SMESH_Group UnionGroups (in SMESH_GroupBase aGroup1,
457  in SMESH_GroupBase aGroup2,
458  in string name )
459  raises (SALOME::SALOME_Exception);
460 
466  SMESH_Group UnionListOfGroups (in ListOfGroups aListOfGroups,
467  in string name )
468  raises (SALOME::SALOME_Exception);
469 
475  SMESH_Group IntersectGroups (in SMESH_GroupBase aGroup1,
476  in SMESH_GroupBase aGroup2,
477  in string name )
478  raises (SALOME::SALOME_Exception);
479 
485  SMESH_Group IntersectListOfGroups (in ListOfGroups aListOfGroups,
486  in string name)
487  raises (SALOME::SALOME_Exception);
488 
494  SMESH_Group CutGroups (in SMESH_GroupBase aMainGroup,
495  in SMESH_GroupBase aToolGroup,
496  in string name )
497  raises (SALOME::SALOME_Exception);
498 
504  SMESH_Group CutListOfGroups (in ListOfGroups aMainGroups,
505  in ListOfGroups aToolGroups,
506  in string name)
507  raises (SALOME::SALOME_Exception);
508 
520  SMESH_Group CreateDimGroup( in ListOfIDSources aListOfGroups,
521  in ElementType anElemType,
522  in string name,
523  in NB_COMMON_NODES_ENUM nbCommonNodes,
524  in boolean underlyingOnly )
525  raises (SALOME::SALOME_Exception);
526 
536  ListOfGroups FaceGroupsSeparatedByEdges( in double sharpAngle,
537  in boolean createEdges,
538  in boolean useExistingEdges )
539  raises (SALOME::SALOME_Exception);
540 
545  raises (SALOME::SALOME_Exception);
546 
561  Hypothesis_Status AddHypothesis(in GEOM::GEOM_Object aSubObject,
562  in SMESH_Hypothesis anHyp,
563  out string anErrorText)
564  raises (SALOME::SALOME_Exception);
565 
569  Hypothesis_Status RemoveHypothesis(in GEOM::GEOM_Object aSubObject,
570  in SMESH_Hypothesis anHyp)
571  raises (SALOME::SALOME_Exception);
572 
576  ListOfHypothesis GetHypothesisList(in GEOM::GEOM_Object aSubObject)
577  raises (SALOME::SALOME_Exception);
578 
585  log_array GetLog(in boolean clearAfterGet)
586  raises (SALOME::SALOME_Exception);
587 
592  void ClearLog()
593  raises (SALOME::SALOME_Exception);
594 
600  void SetAutoColor(in boolean theAutoColor)
601  raises (SALOME::SALOME_Exception);
602 
606  boolean GetAutoColor()
607  raises (SALOME::SALOME_Exception);
608 
612  long GetId();
613 
617  SMESH_MeshEditor GetMeshEditor()
618  raises (SALOME::SALOME_Exception);
619 
624  SMESH_MeshEditor GetMeshEditPreviewer()
625  raises (SALOME::SALOME_Exception);
626 
632  raises (SALOME::SALOME_Exception);
633 
638 
660  void ExportMED( in string fileName,
661  in boolean auto_groups,
662  in long version,
663  in boolean overwrite,
664  in boolean autoDimension) raises (SALOME::SALOME_Exception);
665 
666  long long ExportMEDCoupling(in boolean auto_groups,
667  in boolean autoDimension) raises (SALOME::SALOME_Exception);
668 
698  void ExportPartToMED( in SMESH_IDSource meshPart,
699  in string fileName,
700  in boolean auto_groups,
701  in long version,
702  in boolean overwrite,
703  in boolean autoDimension,
704  in GEOM::ListOfFields fields,
705  in string geomAssocFields,
706  in double ZTolerance,
707  in boolean saveNumbers) raises (SALOME::SALOME_Exception);
708 
709  long long ExportPartToMEDCoupling( in SMESH_IDSource meshPart,
710  in boolean auto_groups,
711  in boolean autoDimension,
712  in GEOM::ListOfFields fields,
713  in string geomAssocFields,
714  in double ZTolerance,
715  in boolean saveNumbers) raises (SALOME::SALOME_Exception);
716 
720  string GetVersionString(in long minor, in short nbDigits);
721 
726  long_array GetMEDVersionsCompatibleForAppend();
727 
732  void ExportDAT( in string file,
733  in boolean renumer) raises (SALOME::SALOME_Exception);
734  void ExportUNV( in string file,
735  in boolean renumer ) raises (SALOME::SALOME_Exception);
736  void ExportSTL( in string file,
737  in boolean isascii ) raises (SALOME::SALOME_Exception);
738  void ExportCGNS( in SMESH_IDSource meshPart,
739  in string file,
740  in boolean overwrite,
741  in boolean groupElemsByType) raises (SALOME::SALOME_Exception);
742  void ExportGMF( in SMESH_IDSource meshPart,
743  in string file,
744  in boolean withRequiredGroups) raises (SALOME::SALOME_Exception);
745  void ExportPartToDAT( in SMESH_IDSource meshPart,
746  in string file,
747  in boolean renumer ) raises (SALOME::SALOME_Exception);
748  void ExportPartToUNV( in SMESH_IDSource meshPart,
749  in string file,
750  in boolean renumer ) raises (SALOME::SALOME_Exception);
751  void ExportPartToSTL( in SMESH_IDSource meshPart,
752  in string file,
753  in boolean isascii ) raises (SALOME::SALOME_Exception);
758 
762  smIdType NbNodes()
763  raises (SALOME::SALOME_Exception);
764 
765  smIdType NbElements()
766  raises (SALOME::SALOME_Exception);
767 
768  smIdType Nb0DElements()
769  raises (SALOME::SALOME_Exception);
770 
771  smIdType NbBalls()
772  raises (SALOME::SALOME_Exception);
773 
774  smIdType NbEdges()
775  raises (SALOME::SALOME_Exception);
776 
777  smIdType NbEdgesOfOrder(in ElementOrder order)
778  raises (SALOME::SALOME_Exception);
779 
780  smIdType NbFaces()
781  raises (SALOME::SALOME_Exception);
782 
783  smIdType NbFacesOfOrder(in ElementOrder order)
784  raises (SALOME::SALOME_Exception);
785 
786  smIdType NbTriangles()
787  raises (SALOME::SALOME_Exception);
788 
789  smIdType NbTrianglesOfOrder(in ElementOrder order)
790  raises (SALOME::SALOME_Exception);
791 
792  smIdType NbBiQuadTriangles()
793  raises (SALOME::SALOME_Exception);
794 
795  smIdType NbQuadrangles()
796  raises (SALOME::SALOME_Exception);
797 
798  smIdType NbQuadranglesOfOrder(in ElementOrder order)
799  raises (SALOME::SALOME_Exception);
800 
802  raises (SALOME::SALOME_Exception);
803 
804  smIdType NbPolygons()
805  raises (SALOME::SALOME_Exception);
806 
807  smIdType NbPolygonsOfOrder(in ElementOrder order)
808  raises (SALOME::SALOME_Exception);
809 
810  smIdType NbVolumes()
811  raises (SALOME::SALOME_Exception);
812 
813  smIdType NbVolumesOfOrder(in ElementOrder order)
814  raises (SALOME::SALOME_Exception);
815 
816  smIdType NbTetras()
817  raises (SALOME::SALOME_Exception);
818 
819  smIdType NbTetrasOfOrder(in ElementOrder order)
820  raises (SALOME::SALOME_Exception);
821 
822  smIdType NbHexas()
823  raises (SALOME::SALOME_Exception);
824 
825  smIdType NbHexasOfOrder(in ElementOrder order)
826  raises (SALOME::SALOME_Exception);
827 
829  raises (SALOME::SALOME_Exception);
830 
831  smIdType NbPyramids()
832  raises (SALOME::SALOME_Exception);
833 
834  smIdType NbPyramidsOfOrder(in ElementOrder order)
835  raises (SALOME::SALOME_Exception);
836 
837  smIdType NbPrisms()
838  raises (SALOME::SALOME_Exception);
839 
840  smIdType NbPrismsOfOrder(in ElementOrder order)
841  raises (SALOME::SALOME_Exception);
842 
843  smIdType NbHexagonalPrisms()
844  raises (SALOME::SALOME_Exception);
845 
846  smIdType NbPolyhedrons()
847  raises (SALOME::SALOME_Exception);
848 
849  smIdType NbSubMesh()
850  raises (SALOME::SALOME_Exception);
851 
852  smIdType_array GetElementsId()
853  raises (SALOME::SALOME_Exception);
854 
855  smIdType_array GetElementsByType( in ElementType theType )
856  raises (SALOME::SALOME_Exception);
857 
858  smIdType_array GetNodesId()
859  raises (SALOME::SALOME_Exception);
860 
864  ElementType GetElementType( in smIdType id, in boolean iselem )
865  raises (SALOME::SALOME_Exception);
866 
867  EntityType GetElementGeomType( in smIdType id )
868  raises (SALOME::SALOME_Exception);
869 
870  GeometryType GetElementShape( in smIdType id )
871  raises (SALOME::SALOME_Exception);
872 
873  smIdType_array GetSubMeshElementsId(in long ShapeID)
874  raises (SALOME::SALOME_Exception);
875 
876  smIdType_array GetSubMeshNodesId(in long ShapeID, in boolean all )
877  raises (SALOME::SALOME_Exception);
878 
879  ElementType GetSubMeshElementType(in long ShapeID)
880  raises (SALOME::SALOME_Exception);
881 
882 
890  boolean IsUnorderedSubMesh(in long submeshID);
891 
896 
900  boolean SetMeshOrder(in submesh_array_array theSubMeshArray);
901 
905  string Dump();
906 
910  long long GetMeshPtr();
911 
916  double_array GetNodeXYZ(in smIdType id);
917 
922  smIdType_array GetNodeInverseElements(in smIdType id, in ElementType elemType);
923 
927  NodePosition GetNodePosition(in smIdType NodeID);
928 
932  ElementPosition GetElementPosition(in smIdType ElemID);
933 
938  long GetShapeID(in smIdType id);
939 
945  long GetShapeIDForElem(in smIdType id);
946 
951  short GetElemNbNodes(in smIdType id);
952 
956  smIdType_array GetElemNodes(in smIdType id);
957 
963  smIdType GetElemNode(in smIdType id, in short index);
964 
969  boolean IsMediumNode(in smIdType ide, in smIdType idn);
970 
975  boolean IsMediumNodeOfAnyElem(in smIdType idn, in ElementType elem_type);
976 
980  long ElemNbEdges(in smIdType id);
981 
985  long ElemNbFaces(in smIdType id);
986 
990  smIdType_array GetElemFaceNodes(in smIdType elemId, in short faceIndex);
991 
995  double_array GetFaceNormal(in long faceId, in boolean normalized);
996 
1000  smIdType FindElementByNodes(in smIdType_array nodes);
1001 
1005  smIdType_array GetElementsByNodes(in smIdType_array nodes, in ElementType elem_type);
1006 
1010  boolean IsPoly(in smIdType id);
1011 
1015  boolean IsQuadratic(in smIdType id);
1016 
1020  double GetBallDiameter(in smIdType id);
1021 
1027  double_array BaryCenter(in smIdType id);
1028 
1030  MedFileInfo GetMEDFileInfo();
1031 
1036  void SetParameters (in string theParameters);
1037 
1041  string GetParameters();
1042 
1046  string_array GetLastParameters();
1047  };
1048 
1050  {
1055  raises (SALOME::SALOME_Exception);
1056 
1060  smIdType GetNumberOfNodes( in boolean all )
1061  raises (SALOME::SALOME_Exception);
1062 
1066  smIdType_array GetElementsId()
1067  raises (SALOME::SALOME_Exception);
1068 
1072  smIdType_array GetElementsByType( in ElementType theType )
1073  raises (SALOME::SALOME_Exception);
1074 
1078  ElementType GetElementType( in smIdType id, in boolean iselem )
1079  raises (SALOME::SALOME_Exception);
1080 
1084  smIdType_array GetNodesId()
1085  raises (SALOME::SALOME_Exception);
1086 
1090  GEOM::GEOM_Object GetSubShape()
1091  raises (SALOME::SALOME_Exception);
1092 
1096  SMESH_Mesh GetFather()
1097  raises (SALOME::SALOME_Exception);
1098 
1102  long GetId();
1103  };
1104 
1107 
1108  // Parallism method
1110  void SetParallelismMethod(in long aMethod);
1111 
1112  // Parameters for MutliThreading
1114  void SetNbThreads(in long nbThreads);
1115 
1116  // Parameters for MultiNode
1117  string GetResource();
1118  void SetResource(in string aResource);
1119 
1120  long GetNbProc();
1121  void SetNbProc(in long nbProc);
1122 
1124  void SetNbProcPerNode(in long nbProcPerNode);
1125 
1126  long GetNbNode();
1127  void SetNbNode(in long nbNode);
1128 
1129  string GetWcKey();
1130  void SetWcKey(in string wcKey);
1131 
1132  string GetWalltime();
1133  void SetWalltime(in string walltime);
1134  };
1135 
1136 };
1137 
1138 #endif
@ ORDER_LINEAR
entities of any order
Definition: SMDSAbs_ElementType.hxx:72
@ ORDER_QUADRATIC
entities of 1st order
Definition: SMDSAbs_ElementType.hxx:73
@ ORDER_ANY
Definition: SMDSAbs_ElementType.hxx:71
@ FACE
Definition: SMESHGUI_ShapeByMeshDlg.cxx:80
@ EDGE
Definition: SMESHGUI_ShapeByMeshDlg.cxx:80
Definition: SMESH_Hypothesis.hxx:48
bool HasDuplicatedGroupNamesMED()
Check group names for duplications.
Definition: SMESH_Mesh.cxx:1388
smIdType NbEdges(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return number of edges of given order in the mesh.
Definition: SMESH_Mesh.cxx:1813
smIdType NbNodes() const
Return number of nodes in the mesh.
Definition: SMESH_Mesh.cxx:1791
void ClearLog()
Definition: SMESH_Mesh.cxx:1020
const TListOfListOfInt & GetMeshOrder() const
return submesh order if any
Definition: SMESH_Mesh.cxx:2367
SMESH_Group * ConvertToStandalone(int theGroupID)
Convert group on geometry into standalone group.
Definition: SMESH_Mesh.cxx:2305
smIdType NbTriangles(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return the number of faces in the mesh.
Definition: SMESH_Mesh.cxx:1835
smIdType NbSubMesh() const
Return number of submeshes in the mesh.
Definition: SMESH_Mesh.cxx:2000
void ExportDAT(const char *file, const SMESHDS_Mesh *meshPart=0, const bool renumber=true)
Export the mesh to a DAT file.
Definition: SMESH_Mesh.cxx:1549
SMESH_subMesh * GetSubMesh(const TopoDS_Shape &aSubShape)
Get or Create the SMESH_subMesh object implementation.
Definition: SMESH_Mesh.cxx:1031
void Load()
Load mesh from study file.
Definition: SMESH_Mesh.cxx:412
double GetComputeProgress() const
Return a ratio of "compute cost" of computed sub-meshes to the whole "compute cost".
Definition: SMESH_Mesh.cxx:1723
smIdType NbHexagonalPrisms() const
Return number of hexagonal prisms in the mesh.
Definition: SMESH_Mesh.cxx:1967
const std::list< SMESHDS_Command * > & GetLog()
Definition: SMESH_Mesh.cxx:1010
smIdType NbPolyhedrons() const
Return number of polyhedrons in the mesh.
Definition: SMESH_Mesh.cxx:1978
GroupIteratorPtr GetGroups() const
Return iterator on all existing groups.
Definition: SMESH_Mesh.cxx:2133
MEDCoupling::MCAuto< MEDCoupling::DataArrayByte > ExportMEDCoupling(const char *theMeshName=NULL, bool theAutoGroups=true, const SMESHDS_Mesh *theMeshPart=0, bool theAutoDimension=false, bool theAddODOnVertices=false, double theZTolerance=-1., bool theSaveNumbers=true)
Same as SMESH_Mesh::ExportMED except for file and theVersion.
Definition: SMESH_Mesh.cxx:1488
const std::list< const SMESHDS_Hypothesis * > & GetHypothesisList(const TopoDS_Shape &aSubShape) const
Definition: SMESH_Mesh.cxx:801
void ExportUNV(const char *file, const SMESHDS_Mesh *meshPart=0, const bool renumber=true)
Export the mesh to an UNV file.
Definition: SMESH_Mesh.cxx:1575
smIdType NbBalls() const
Return number of ball elements in the mesh.
Definition: SMESH_Mesh.cxx:1989
void ExportSTL(const char *file, const bool isascii, const char *name=0, const SMESHDS_Mesh *meshPart=0)
Export the mesh to an STL file.
Definition: SMESH_Mesh.cxx:1616
void ExportGMF(const char *file, const SMESHDS_Mesh *mesh, bool withRequiredGroups=true)
Export the mesh to a GMF file.
Definition: SMESH_Mesh.cxx:1696
TopoDS_Shape GetShapeToMesh() const
Return geometry to be meshed.
Definition: SMESH_Mesh.cxx:334
smIdType NbPyramids(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return number of pyramids of given order in the mesh.
Definition: SMESH_Mesh.cxx:1934
void SetMeshOrder(const TListOfListOfInt &theOrder)
remove submesh order from Mesh
Definition: SMESH_Mesh.cxx:2356
smIdType NbTriQuadraticHexas() const
Return number of triquadratic hexahedrons in the mesh.
Definition: SMESH_Mesh.cxx:1923
std::ostream & Dump(std::ostream &save)
smIdType NbVolumes(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return number of volumes of given order in the mesh.
Definition: SMESH_Mesh.cxx:1890
int GetId() const
Definition: SMESH_Mesh.hxx:182
bool HasModificationsToDiscard() const
Return true if the mesh has been edited since a total re-compute and those modifications may prevent ...
Definition: SMESH_Mesh.cxx:1314
bool RemoveGroup(const int theGroupID)
Definition: SMESH_Mesh.cxx:2189
smIdType NbPolygons(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return the number of polygonal faces in the mesh.
Definition: SMESH_Mesh.cxx:1879
bool GetAutoColor()
Definition: SMESH_Mesh.cxx:1287
smIdType NbTetras(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return number of tetrahedrons of given order in the mesh.
Definition: SMESH_Mesh.cxx:1901
SMESH_Hypothesis::Hypothesis_Status AddHypothesis(const TopoDS_Shape &aSubShape, int anHypId, std::string *error=0)
Definition: SMESH_Mesh.cxx:636
void ExportCGNS(const char *file, const SMESHDS_Mesh *mesh, const char *meshName=0, const bool groupElemsByType=false)
Export the mesh to the CGNS file.
Definition: SMESH_Mesh.cxx:1644
smIdType NbBiQuadQuadrangles() const
Return number of biquadratic quadrangles in the mesh.
Definition: SMESH_Mesh.cxx:1868
smIdType NbFaces(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return number of faces of given order in the mesh.
Definition: SMESH_Mesh.cxx:1824
smIdType NbQuadrangles(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return the number nodes faces in the mesh.
Definition: SMESH_Mesh.cxx:1857
void ClearSubMesh(const int theShapeId)
Remove all nodes and elements of indicated shape.
Definition: SMESH_Mesh.cxx:460
smIdType NbBiQuadTriangles() const
Return number of biquadratic triangles in the mesh.
Definition: SMESH_Mesh.cxx:1846
void SetAutoColor(bool theAutoColor)
Auto color functionality.
Definition: SMESH_Mesh.cxx:1282
smIdType NbHexas(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return number of hexahedrons of given order in the mesh.
Definition: SMESH_Mesh.cxx:1912
void Clear()
Remove all nodes and elements.
Definition: SMESH_Mesh.cxx:424
SMDSAbs_ElementType GetElementType(const smIdType id, const bool iselem)
Definition: SMESH_Mesh.cxx:2294
void ExportMED(const char *theFile, const char *theMeshName=NULL, bool theAutoGroups=true, int theVersion=-1, const SMESHDS_Mesh *theMeshPart=0, bool theAutoDimension=false, bool theAddODOnVertices=false, double theZTolerance=-1., bool theSaveNumbers=true)
Export the mesh to a med file.
Definition: SMESH_Mesh.cxx:1527
smIdType NbPrisms(SMDSAbs_ElementOrder order=ORDER_ANY) const
Return number of prisms (penthahedrons) of given order in the mesh.
Definition: SMESH_Mesh.cxx:1945
SMESH_Hypothesis::Hypothesis_Status RemoveHypothesis(const TopoDS_Shape &aSubShape, int anHypId)
Definition: SMESH_Mesh.cxx:731
smIdType Nb0DElements() const
Return number of edges of given order in the mesh.
Definition: SMESH_Mesh.cxx:1802
Filter.
Definition: SMESH_Filter.idl:490
SMESH_Group: base interface of group object.
Definition: SMESH_Group.idl:46
SMESH_GroupOnFilter: interface of a group object defined by filter.
Definition: SMESH_Group.idl:179
SMESH_GroupOnGeom: interface of a group object linked to geometry.
Definition: SMESH_Group.idl:171
SMESH_Group: interface of a standalone group object.
Definition: SMESH_Group.idl:137
Definition: SMESH_Hypothesis.idl:45
Definition: SMESH_Mesh.idl:286
smIdType_array GetNbElementsByType()
Returns number of mesh elements of each ElementType.
SMESH_Mesh GetMesh()
Returns the mesh.
smIdType_array GetIDs()
Returns a sequence of all element IDs.
SALOMEDS::TMPFile GetVtkUgStream()
Returns mesh unstructed grid information.
array_of_ElementType GetTypes()
Returns types of elements it contains.
boolean IsMeshInfoCorrect()
Returns false if GetMeshInfo() returns incorrect information that may happen if mesh data is not yet ...
smIdType_array GetMeshInfo()
Returns number of mesh elements of each EntityType.
This interface makes modifications on the Mesh - removing elements and nodes etc.
Definition: SMESH_MeshEditor.idl:99
Definition: SMESH_Mesh.idl:338
boolean HasShapeToMesh()
Return true if there is a geometry to be meshed.
Definition: SMESH_Mesh.idl:1106
void SetWalltime(in string walltime)
void SetNbThreads(in long nbThreads)
void SetNbProcPerNode(in long nbProcPerNode)
void SetNbProc(in long nbProc)
void SetWcKey(in string wcKey)
void SetNbNode(in long nbNode)
void SetParallelismMethod(in long aMethod)
void SetResource(in string aResource)
Definition: SMESH_Mesh.idl:1105
Definition: SMESH_Mesh.idl:1050
smIdType GetNumberOfElements()
Definition: SMESH_ControlsDef.hxx:64
Hypothesis_Status
Enumeration for hypothesis status (used by AddHypothesis() and RemoveHypothesis() methods)
Definition: SMESH_Mesh.idl:208
@ HYP_HIDDEN_ALGO
Definition: SMESH_Mesh.idl:213
@ HYP_CONCURRENT
Definition: SMESH_Mesh.idl:211
@ HYP_BAD_PARAMETER
Definition: SMESH_Mesh.idl:212
@ HYP_BAD_GEOMETRY
Definition: SMESH_Mesh.idl:222
@ HYP_INCOMPATIBLE
Definition: SMESH_Mesh.idl:217
@ HYP_NOTCONFORM
Definition: SMESH_Mesh.idl:218
@ HYP_MISSING
Definition: SMESH_Mesh.idl:210
@ HYP_NEED_SHAPE
Definition: SMESH_Mesh.idl:223
@ HYP_BAD_SUBSHAPE
Definition: SMESH_Mesh.idl:221
@ HYP_INCOMPAT_HYPS
Definition: SMESH_Mesh.idl:224
@ HYP_BAD_DIM
Definition: SMESH_Mesh.idl:220
@ HYP_ALREADY_EXIST
Definition: SMESH_Mesh.idl:219
@ HYP_HIDING_ALGO
Definition: SMESH_Mesh.idl:214
@ HYP_UNKNOWN_FATAL
Definition: SMESH_Mesh.idl:215
@ HYP_OK
Definition: SMESH_Mesh.idl:209
NB_COMMON_NODES_ENUM
Enumeration for CreateDimGroup()
Definition: SMESH_Mesh.idl:255
@ ALL_NODES
Definition: SMESH_Mesh.idl:256
@ MAIN
Definition: SMESH_Mesh.idl:256
@ AT_LEAST_ONE
Definition: SMESH_Mesh.idl:256
@ MAJORITY
Definition: SMESH_Mesh.idl:256
sequence< log_block > log_array
Definition: SMESH_Mesh.idl:91
sequence< ElementType > array_of_ElementType
Definition: SMESH_Mesh.idl:138
sequence< ElementSubType > types_array
Definition: SMESH_Mesh.idl:274
sequence< submesh_array > submesh_array_array
Definition: SMESH_Mesh.idl:335
EntityType
Enumeration of entity type used in mesh info array, it should be synchronised with enum SMDSAbs_Entit...
Definition: SMESH_Mesh.idl:174
@ Entity_Quad_Tetra
Definition: SMESH_Mesh.idl:188
@ Entity_Tetra
Definition: SMESH_Mesh.idl:187
@ Entity_Edge
Definition: SMESH_Mesh.idl:177
@ Entity_Quad_Penta
Definition: SMESH_Mesh.idl:195
@ Entity_Ball
Definition: SMESH_Mesh.idl:200
@ Entity_Penta
Definition: SMESH_Mesh.idl:194
@ Entity_Node
Definition: SMESH_Mesh.idl:175
@ Entity_BiQuad_Triangle
Definition: SMESH_Mesh.idl:181
@ Entity_0D
Definition: SMESH_Mesh.idl:176
@ Entity_Pyramid
Definition: SMESH_Mesh.idl:189
@ Entity_Polyhedra
Definition: SMESH_Mesh.idl:198
@ Entity_Quad_Triangle
Definition: SMESH_Mesh.idl:180
@ Entity_Quad_Edge
Definition: SMESH_Mesh.idl:178
@ Entity_BiQuad_Penta
Definition: SMESH_Mesh.idl:196
@ Entity_Hexa
Definition: SMESH_Mesh.idl:191
@ Entity_Hexagonal_Prism
Definition: SMESH_Mesh.idl:197
@ Entity_Triangle
Definition: SMESH_Mesh.idl:179
@ Entity_Polygon
Definition: SMESH_Mesh.idl:185
@ Entity_BiQuad_Quadrangle
Definition: SMESH_Mesh.idl:184
@ Entity_Quad_Quadrangle
Definition: SMESH_Mesh.idl:183
@ Entity_Quad_Polygon
Definition: SMESH_Mesh.idl:186
@ Entity_Quad_Pyramid
Definition: SMESH_Mesh.idl:190
@ Entity_Quad_Hexa
Definition: SMESH_Mesh.idl:192
@ Entity_TriQuad_Hexa
Definition: SMESH_Mesh.idl:193
@ Entity_Quadrangle
Definition: SMESH_Mesh.idl:182
@ Entity_Quad_Polyhedra
Definition: SMESH_Mesh.idl:199
@ Entity_Last
Definition: SMESH_Mesh.idl:201
sequence< SMESH_subMesh > submesh_array
Definition: SMESH_Mesh.idl:332
const long EXTRUSION_FLAG_BOUNDARY
Auxiliary flags for advanced extrusion.
Definition: SMESH_Mesh.idl:264
sequence< long_array > array_of_long_array
Definition: SMESH_Mesh.idl:47
sequence< SMESH_IDSource > ListOfIDSources
Definition: SMESH_Mesh.idl:40
sequence< smIdType > smIdType_array
Definition: SMESH_Mesh.idl:45
log_command
Definition: SMESH_Mesh.idl:50
@ MOVE_NODE
Definition: SMESH_Mesh.idl:63
@ CHANGE_ELEMENT_NODES
Definition: SMESH_Mesh.idl:64
@ ADD_EDGE
Definition: SMESH_Mesh.idl:52
@ REMOVE_ELEMENT
Definition: SMESH_Mesh.idl:62
@ ADD_QUADTETRAHEDRON
Definition: SMESH_Mesh.idl:72
@ ADD_TETRAHEDRON
Definition: SMESH_Mesh.idl:56
@ ADD_QUADHEXAHEDRON
Definition: SMESH_Mesh.idl:75
@ ADD_QUADQUADRANGLE
Definition: SMESH_Mesh.idl:70
@ ADD_HEXAHEDRON
Definition: SMESH_Mesh.idl:59
@ ADD_QUADEDGE
Definition: SMESH_Mesh.idl:68
@ ADD_QUADTRIANGLE
Definition: SMESH_Mesh.idl:69
@ ADD_QUADRANGLE
Definition: SMESH_Mesh.idl:54
@ ADD_BALL
Definition: SMESH_Mesh.idl:81
@ ADD_TRIQUAD_HEXA
Definition: SMESH_Mesh.idl:79
@ ADD_TRIANGLE
Definition: SMESH_Mesh.idl:53
@ ADD_BIQUAD_QUADRANGLE
Definition: SMESH_Mesh.idl:78
@ ADD_HEXAGONAL_PRISM
Definition: SMESH_Mesh.idl:80
@ ADD_BIQUAD_TRIANGLE
Definition: SMESH_Mesh.idl:77
@ ADD_QUADPOLYGON
Definition: SMESH_Mesh.idl:71
@ CLEAR_MESH
Definition: SMESH_Mesh.idl:67
@ ADD_ELEM0D
Definition: SMESH_Mesh.idl:76
@ RENUMBER
Definition: SMESH_Mesh.idl:66
@ REMOVE_NODE
Definition: SMESH_Mesh.idl:61
@ CHANGE_POLYHEDRON_NODES
Definition: SMESH_Mesh.idl:65
@ ADD_POLYGON
Definition: SMESH_Mesh.idl:55
@ ADD_QUADPYRAMID
Definition: SMESH_Mesh.idl:73
@ ADD_PRISM
Definition: SMESH_Mesh.idl:58
@ ADD_POLYHEDRON
Definition: SMESH_Mesh.idl:60
@ ADD_PYRAMID
Definition: SMESH_Mesh.idl:57
@ ADD_NODE
Definition: SMESH_Mesh.idl:51
@ ADD_QUADPENTAHEDRON
Definition: SMESH_Mesh.idl:74
GeometryType
Enumeration for element geometry type, like SMDSAbs_GeometryType in SMDSAbs_ElementType....
Definition: SMESH_Mesh.idl:144
@ Geom_TETRA
Definition: SMESH_Mesh.idl:150
@ Geom_PENTA
Definition: SMESH_Mesh.idl:153
@ Geom_HEXA
Definition: SMESH_Mesh.idl:152
@ Geom_TRIANGLE
Definition: SMESH_Mesh.idl:147
@ Geom_HEXAGONAL_PRISM
Definition: SMESH_Mesh.idl:154
@ Geom_POINT
Definition: SMESH_Mesh.idl:145
@ Geom_LAST
Definition: SMESH_Mesh.idl:157
@ Geom_QUADRANGLE
Definition: SMESH_Mesh.idl:148
@ Geom_POLYGON
Definition: SMESH_Mesh.idl:149
@ Geom_EDGE
Definition: SMESH_Mesh.idl:146
@ Geom_POLYHEDRA
Definition: SMESH_Mesh.idl:155
@ Geom_BALL
Definition: SMESH_Mesh.idl:156
@ Geom_PYRAMID
Definition: SMESH_Mesh.idl:151
const long EXTRUSION_FLAG_SEW
Definition: SMESH_Mesh.idl:265
ElementOrder
ElementOrder points out entities of what order are requested.
Definition: SMESH_Mesh.idl:163
ElementType
Enumeration for element type, like in SMDS.
Definition: SMESH_Mesh.idl:128
@ ELEM0D
Definition: SMESH_Mesh.idl:134
@ VOLUME
Definition: SMESH_Mesh.idl:133
@ NODE
Definition: SMESH_Mesh.idl:130
@ BALL
Definition: SMESH_Mesh.idl:135
@ ALL
Definition: SMESH_Mesh.idl:129
@ NB_ELEMENT_TYPES
Definition: SMESH_Mesh.idl:136
sequence< double > double_array
Definition: SMESH_Mesh.idl:43
sequence< string > string_array
Definition: SMESH_Mesh.idl:46
sequence< SMESH_Hypothesis > ListOfHypothesis
Definition: SMESH_Mesh.idl:36
sequence< SMESH_GroupBase > ListOfGroups
Definition: SMESH_Mesh.idl:38
GEOM::GEOM_Object_ptr GetSubShape(GEOM::GEOM_Object_ptr theMainShape, long theID)
Definition: SMESHGUI_GEOMGenUtils.cxx:156
sequence< PointStruct > nodes_array
Definition: SMESH_Mesh.idl:97
DriverMED_ReadStatus
Enumeration for mesh read status (used by SMESH_Gen::CreateMeshesFrom*() methods)
Definition: SMESH_Mesh.idl:231
@ DRS_OK
Definition: SMESH_Mesh.idl:232
@ DRS_WARN_SKIP_ELEM
Definition: SMESH_Mesh.idl:236
@ DRS_WARN_DESCENDING
Definition: SMESH_Mesh.idl:237
@ DRS_FAIL
Definition: SMESH_Mesh.idl:238
@ DRS_WARN_RENUMBER
Definition: SMESH_Mesh.idl:234
@ DRS_EMPTY
Definition: SMESH_Mesh.idl:233
sequence< long > long_array
Definition: SMESH_Mesh.idl:44
Definition: SMESH_Mesh.idl:101
double vy
Definition: SMESH_Mesh.idl:105
double x
Definition: SMESH_Mesh.idl:101
double y
Definition: SMESH_Mesh.idl:102
double vz
Definition: SMESH_Mesh.idl:106
double vx
Definition: SMESH_Mesh.idl:104
double z
Definition: SMESH_Mesh.idl:103
Definition: SMESH_Mesh.idl:99
PointStruct PS
Definition: SMESH_Mesh.idl:99
Element location on a shape.
Definition: SMESH_Mesh.idl:119
GEOM::shape_type shapeType
Definition: SMESH_Mesh.idl:121
long shapeID
Definition: SMESH_Mesh.idl:120
Structure used in mesh edit preview data (MeshPreviewStruct)
Definition: SMESH_Mesh.idl:270
boolean isPoly
Definition: SMESH_Mesh.idl:271
ElementType SMDS_ElementType
Definition: SMESH_Mesh.idl:270
short nbNodesInElement
Definition: SMESH_Mesh.idl:272
A structure containing information about MED file.
Definition: SMESH_Mesh.idl:245
string fileName
name of file
Definition: SMESH_Mesh.idl:246
long major
Definition: SMESH_Mesh.idl:248
long fileSize
size of file
Definition: SMESH_Mesh.idl:247
Structure containing mesh edit preview data.
Definition: SMESH_Mesh.idl:279
long_array elementConnectivities
Definition: SMESH_Mesh.idl:280
types_array elementTypes
Definition: SMESH_Mesh.idl:281
nodes_array nodesXYZ
Definition: SMESH_Mesh.idl:279
Node location on a shape.
Definition: SMESH_Mesh.idl:110
long shapeID
Definition: SMESH_Mesh.idl:111
GEOM::shape_type shapeType
Definition: SMESH_Mesh.idl:112
double_array params
Definition: SMESH_Mesh.idl:113
Definition: SMESH_Mesh.idl:93
double z
Definition: SMESH_Mesh.idl:95
double x
Definition: SMESH_Mesh.idl:93
double y
Definition: SMESH_Mesh.idl:94
Definition: SMESH_Mesh.idl:85
double_array coords
Definition: SMESH_Mesh.idl:88
long number
Definition: SMESH_Mesh.idl:87
long_array indexes
Definition: SMESH_Mesh.idl:89
long commandType
Definition: SMESH_Mesh.idl:86