24 #ifndef SMDS_MeshInfo_HeaderFile
25 #define SMDS_MeshInfo_HeaderFile
33 #include <smIdType.hxx>
50 smIdType
NbNodes()
const {
return myNbNodes; }
52 smIdType
NbBalls()
const {
return myNbBalls; }
99 smIdType
myNbHexas , myNbQuadHexas, myNbTriQuadHexas;
113 myNbEdges (0), myNbQuadEdges (0),
114 myNbTriangles (0), myNbQuadTriangles (0), myNbBiQuadTriangles(0),
115 myNbQuadrangles(0), myNbQuadQuadrangles(0), myNbBiQuadQuadrangles(0),
116 myNbPolygons (0), myNbQuadPolygons (0),
117 myNbTetras (0), myNbQuadTetras (0),
118 myNbHexas (0), myNbQuadHexas (0), myNbTriQuadHexas(0),
119 myNbPyramids (0), myNbQuadPyramids(0),
120 myNbPrisms (0), myNbQuadPrisms (0), myNbBiQuadPrisms(0),
203 {
for (
size_t i=0; i<
myNb.size(); ++i )
if (
myNb[i] ) (*
myNb[i])=(*other.
myNb[i]);
212 {
for (
size_t i=0; i<
myNb.size(); ++i )
if (
myNb[i] ) (*
myNb[i])=0;
218 {
return nbNodes +
myShift[ type ]; }
SMDSAbs_ElementOrder
Definition: SMDSAbs_ElementType.hxx:70
@ 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
SMDSAbs_GeometryType
enumeration for element geometry type
Definition: SMDSAbs_ElementType.hxx:47
@ SMDSGeom_POLYHEDRA
Definition: SMDSAbs_ElementType.hxx:62
@ SMDSGeom_HEXAGONAL_PRISM
Definition: SMDSAbs_ElementType.hxx:61
@ SMDSGeom_POINT
Definition: SMDSAbs_ElementType.hxx:49
@ SMDSGeom_TRIANGLE
Definition: SMDSAbs_ElementType.hxx:53
@ SMDSGeom_EDGE
Definition: SMDSAbs_ElementType.hxx:51
@ SMDSGeom_BALL
Definition: SMDSAbs_ElementType.hxx:64
@ SMDSGeom_QUADRANGLE
Definition: SMDSAbs_ElementType.hxx:54
@ SMDSGeom_PENTA
Definition: SMDSAbs_ElementType.hxx:60
@ SMDSGeom_TETRA
Definition: SMDSAbs_ElementType.hxx:57
@ SMDSGeom_POLYGON
Definition: SMDSAbs_ElementType.hxx:55
@ SMDSGeom_PYRAMID
Definition: SMDSAbs_ElementType.hxx:58
@ SMDSGeom_HEXA
Definition: SMDSAbs_ElementType.hxx:59
@ SMDSGeom_NONE
Definition: SMDSAbs_ElementType.hxx:66
SMDSAbs_ElementType
Type (node, edge, face or volume) of elements.
Definition: SMDSAbs_ElementType.hxx:34
@ SMDSAbs_0DElement
Definition: SMDSAbs_ElementType.hxx:40
@ SMDSAbs_NbElementTypes
Definition: SMDSAbs_ElementType.hxx:42
@ SMDSAbs_Face
Definition: SMDSAbs_ElementType.hxx:38
@ SMDSAbs_Node
Definition: SMDSAbs_ElementType.hxx:36
@ SMDSAbs_All
Definition: SMDSAbs_ElementType.hxx:35
@ SMDSAbs_Edge
Definition: SMDSAbs_ElementType.hxx:37
@ SMDSAbs_Volume
Definition: SMDSAbs_ElementType.hxx:39
@ SMDSAbs_Ball
Definition: SMDSAbs_ElementType.hxx:41
SMDSAbs_EntityType
Enumeration of entity type used in mesh info array.
Definition: SMDSAbs_ElementType.hxx:79
@ SMDSEntity_Quad_Triangle
Definition: SMDSAbs_ElementType.hxx:85
@ SMDSEntity_Quad_Penta
Definition: SMDSAbs_ElementType.hxx:100
@ SMDSEntity_Hexagonal_Prism
Definition: SMDSAbs_ElementType.hxx:102
@ SMDSEntity_Quad_Hexa
Definition: SMDSAbs_ElementType.hxx:97
@ SMDSEntity_Quad_Edge
Definition: SMDSAbs_ElementType.hxx:83
@ SMDSEntity_0D
Definition: SMDSAbs_ElementType.hxx:81
@ SMDSEntity_Last
Definition: SMDSAbs_ElementType.hxx:106
@ SMDSEntity_Quad_Polyhedra
Definition: SMDSAbs_ElementType.hxx:104
@ SMDSEntity_Penta
Definition: SMDSAbs_ElementType.hxx:99
@ SMDSEntity_Node
Definition: SMDSAbs_ElementType.hxx:80
@ SMDSEntity_Ball
Definition: SMDSAbs_ElementType.hxx:105
@ SMDSEntity_Quadrangle
Definition: SMDSAbs_ElementType.hxx:87
@ SMDSEntity_Hexa
Definition: SMDSAbs_ElementType.hxx:96
@ SMDSEntity_BiQuad_Penta
Definition: SMDSAbs_ElementType.hxx:101
@ SMDSEntity_Polyhedra
Definition: SMDSAbs_ElementType.hxx:103
@ SMDSEntity_Quad_Tetra
Definition: SMDSAbs_ElementType.hxx:93
@ SMDSEntity_Quad_Pyramid
Definition: SMDSAbs_ElementType.hxx:95
@ SMDSEntity_BiQuad_Triangle
Definition: SMDSAbs_ElementType.hxx:86
@ SMDSEntity_Polygon
Definition: SMDSAbs_ElementType.hxx:90
@ SMDSEntity_Tetra
Definition: SMDSAbs_ElementType.hxx:92
@ SMDSEntity_Edge
Definition: SMDSAbs_ElementType.hxx:82
@ SMDSEntity_Quad_Polygon
Definition: SMDSAbs_ElementType.hxx:91
@ SMDSEntity_TriQuad_Hexa
Definition: SMDSAbs_ElementType.hxx:98
@ SMDSEntity_Triangle
Definition: SMDSAbs_ElementType.hxx:84
@ SMDSEntity_Quad_Quadrangle
Definition: SMDSAbs_ElementType.hxx:88
@ SMDSEntity_Pyramid
Definition: SMDSAbs_ElementType.hxx:94
@ SMDSEntity_BiQuad_Quadrangle
Definition: SMDSAbs_ElementType.hxx:89
#define SMDS_EXPORT
Definition: SMESH_SMDS.hxx:37
Base class for elements.
Definition: SMDS_MeshElement.hxx:56
virtual bool IsPoly() const =0
virtual SMDSAbs_EntityType GetEntityType() const =0
virtual bool IsQuadratic() const =0
virtual int NbNodes() const =0
virtual SMDSAbs_ElementType GetType() const =0
Definition: SMDS_MeshInfo.hxx:36
smIdType myNbBiQuadPrisms
Definition: SMDS_MeshInfo.hxx:101
smIdType myNbBalls
Definition: SMDS_MeshInfo.hxx:92
smIdType NbElements(SMDSAbs_ElementType type=SMDSAbs_All) const
Definition: SMDS_MeshInfo.hxx:299
smIdType myNbPolygons
Definition: SMDS_MeshInfo.hxx:96
void addWithPoly(const SMDS_MeshElement *el)
Definition: SMDS_MeshInfo.hxx:229
SMDS_MeshInfo()
Definition: SMDS_MeshInfo.hxx:109
smIdType NbTriQuadHexas() const
Definition: SMDS_MeshInfo.hxx:68
smIdType NbHexas(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:283
void add(const SMDS_MeshElement *el)
Definition: SMDS_MeshInfo.hxx:225
void remove(const SMDS_MeshElement *el)
Definition: SMDS_MeshInfo.hxx:221
void RemoveVolume(const SMDS_MeshElement *el)
Definition: SMDS_MeshInfo.hxx:251
smIdType myNbQuadrangles
Definition: SMDS_MeshInfo.hxx:95
smIdType index(SMDSAbs_ElementType type, int nbNodes) const
Definition: SMDS_MeshInfo.hxx:217
smIdType myNbQuadTetras
Definition: SMDS_MeshInfo.hxx:98
smIdType NbQuadrangles(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:267
smIdType NbPolygons(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:271
smIdType Nb0DElements() const
Definition: SMDS_MeshInfo.hxx:51
smIdType myNbQuadQuadrangles
Definition: SMDS_MeshInfo.hxx:95
smIdType NbBalls() const
Definition: SMDS_MeshInfo.hxx:52
smIdType NbVolumes(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:275
smIdType myNb0DElements
Definition: SMDS_MeshInfo.hxx:91
smIdType myNbEdges
Definition: SMDS_MeshInfo.hxx:93
smIdType myNbQuadPyramids
Definition: SMDS_MeshInfo.hxx:100
smIdType NbPolyhedrons() const
Definition: SMDS_MeshInfo.hxx:71
smIdType NbElements(SMDSAbs_EntityType type) const
Definition: SMDS_MeshInfo.hxx:44
void setNb(const SMDSAbs_EntityType geomType, const smIdType nb)
Definition: SMDS_MeshInfo.hxx:410
smIdType myNbBiQuadQuadrangles
Definition: SMDS_MeshInfo.hxx:95
smIdType NbPrisms(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:291
void RemoveFace(const SMDS_MeshElement *el)
Definition: SMDS_MeshInfo.hxx:242
smIdType myNbTriQuadHexas
Definition: SMDS_MeshInfo.hxx:99
smIdType NbElements(SMDSAbs_GeometryType type) const
Definition: SMDS_MeshInfo.hxx:45
void Clear()
Definition: SMDS_MeshInfo.hxx:211
smIdType NbTriangles(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:263
smIdType myNbQuadEdges
Definition: SMDS_MeshInfo.hxx:93
smIdType myNbHexas
Definition: SMDS_MeshInfo.hxx:99
smIdType myNbQuadPrisms
Definition: SMDS_MeshInfo.hxx:101
std::vector< smIdType * > myNb
Definition: SMDS_MeshInfo.hxx:105
smIdType NbQuadPrisms() const
Definition: SMDS_MeshInfo.hxx:69
smIdType myNbNodes
Definition: SMDS_MeshInfo.hxx:89
smIdType NbPyramids(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:287
smIdType NbEntities(SMDSAbs_EntityType type) const
Definition: SMDS_MeshInfo.hxx:335
smIdType myNbPolyhedrons
Definition: SMDS_MeshInfo.hxx:103
std::vector< int > myShift
Definition: SMDS_MeshInfo.hxx:106
smIdType NbBiQuadQuadrangles() const
Definition: SMDS_MeshInfo.hxx:59
smIdType myNbPyramids
Definition: SMDS_MeshInfo.hxx:100
smIdType myNbQuadTriangles
Definition: SMDS_MeshInfo.hxx:94
smIdType NbBiQuadPrisms() const
Definition: SMDS_MeshInfo.hxx:70
smIdType myNbBiQuadTriangles
Definition: SMDS_MeshInfo.hxx:94
void RemoveEdge(const SMDS_MeshElement *el)
Definition: SMDS_MeshInfo.hxx:238
smIdType myNbPrisms
Definition: SMDS_MeshInfo.hxx:101
smIdType myNbTriangles
Definition: SMDS_MeshInfo.hxx:94
smIdType myNbQuadPolygons
Definition: SMDS_MeshInfo.hxx:96
smIdType NbElementsOfGeom(SMDSAbs_GeometryType geom) const
Definition: SMDS_MeshInfo.hxx:371
smIdType NbHexPrisms(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:295
smIdType NbFaces(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:259
smIdType myNbQuadHexas
Definition: SMDS_MeshInfo.hxx:99
SMDS_MeshInfo & operator=(const SMDS_MeshInfo &other)
Definition: SMDS_MeshInfo.hxx:202
smIdType NbNodes() const
Definition: SMDS_MeshInfo.hxx:50
smIdType myNbTetras
Definition: SMDS_MeshInfo.hxx:98
smIdType NbTetras(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:279
smIdType NbEdges(SMDSAbs_ElementOrder order=ORDER_ANY) const
Definition: SMDS_MeshInfo.hxx:255
smIdType myNbHexPrism
Definition: SMDS_MeshInfo.hxx:102
smIdType NbBiQuadTriangles() const
Definition: SMDS_MeshInfo.hxx:58
Definition: SMDS_Mesh.hxx:53