Version: 9.16.0
SMDS_MeshInfo.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// This library is free software; you can redistribute it and/or
4// modify it under the terms of the GNU Lesser General Public
5// License as published by the Free Software Foundation; either
6// version 2.1 of the License, or (at your option) any later version.
7//
8// This library is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11// Lesser General Public License for more details.
12//
13// You should have received a copy of the GNU Lesser General Public
14// License along with this library; if not, write to the Free Software
15// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16//
17// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18//
19
20// File : SMDS_MeshInfo.hxx
21// Created : Mon Sep 24 18:32:41 2007
22// Author : Edward AGAPOV (eap)
23//
24#ifndef SMDS_MeshInfo_HeaderFile
25#define SMDS_MeshInfo_HeaderFile
26
27#include <vector>
28
29#include "SMESH_SMDS.hxx"
30
31#include "SMDS_MeshElement.hxx"
32#include<utilities.h>
33#include <smIdType.hxx>
34
36{
37public:
38
39 inline SMDS_MeshInfo();
40 inline SMDS_MeshInfo& operator=(const SMDS_MeshInfo& other);
41 inline void Clear();
42
43 inline smIdType NbElements(SMDSAbs_ElementType type=SMDSAbs_All) const;
44 inline smIdType NbElements(SMDSAbs_EntityType type) const { return NbEntities(type); }
45 inline smIdType NbElements(SMDSAbs_GeometryType type) const { return NbElementsOfGeom(type); }
46
47 inline smIdType NbEntities(SMDSAbs_EntityType type) const;
48 inline smIdType NbElementsOfGeom(SMDSAbs_GeometryType geom) const;
49
50 smIdType NbNodes() const { return myNbNodes; }
51 smIdType Nb0DElements() const { return myNb0DElements; }
52 smIdType NbBalls() const { return myNbBalls; }
53 inline smIdType NbEdges (SMDSAbs_ElementOrder order = ORDER_ANY) const;
54
55 inline smIdType NbFaces (SMDSAbs_ElementOrder order = ORDER_ANY) const;
56 inline smIdType NbTriangles (SMDSAbs_ElementOrder order = ORDER_ANY) const;
57 inline smIdType NbQuadrangles(SMDSAbs_ElementOrder order = ORDER_ANY) const;
58 smIdType NbBiQuadTriangles() const { return myNbBiQuadTriangles; }
59 smIdType NbBiQuadQuadrangles() const { return myNbBiQuadQuadrangles; }
60 inline smIdType NbPolygons(SMDSAbs_ElementOrder order = ORDER_ANY) const;
61
62 inline smIdType NbVolumes (SMDSAbs_ElementOrder order = ORDER_ANY) const;
63 inline smIdType NbTetras (SMDSAbs_ElementOrder order = ORDER_ANY) const;
64 inline smIdType NbHexas (SMDSAbs_ElementOrder order = ORDER_ANY) const;
65 inline smIdType NbPyramids(SMDSAbs_ElementOrder order = ORDER_ANY) const;
66 inline smIdType NbPrisms (SMDSAbs_ElementOrder order = ORDER_ANY) const;
67 inline smIdType NbHexPrisms(SMDSAbs_ElementOrder order = ORDER_ANY) const;
68 smIdType NbTriQuadHexas() const { return myNbTriQuadHexas; }
69 smIdType NbQuadPrisms() const { return myNbQuadPrisms; }
70 smIdType NbBiQuadPrisms() const { return myNbBiQuadPrisms; }
71 smIdType NbPolyhedrons() const { return myNbPolyhedrons; }
72
73protected:
74 inline void addWithPoly(const SMDS_MeshElement* el);
75 inline void setNb(const SMDSAbs_EntityType geomType, const smIdType nb);
76
77private:
78 friend class SMDS_Mesh;
79
80 // methods to count NOT POLY elements
81 inline void remove(const SMDS_MeshElement* el);
82 inline void add (const SMDS_MeshElement* el);
83 inline smIdType index(SMDSAbs_ElementType type, int nbNodes) const;
84 // methods to remove elements of ANY kind
85 inline void RemoveEdge(const SMDS_MeshElement* el);
86 inline void RemoveFace(const SMDS_MeshElement* el);
87 inline void RemoveVolume(const SMDS_MeshElement* el);
88
89 smIdType myNbNodes;
90
92 smIdType myNbBalls;
93 smIdType myNbEdges , myNbQuadEdges ;
94 smIdType myNbTriangles , myNbQuadTriangles, myNbBiQuadTriangles ;
95 smIdType myNbQuadrangles, myNbQuadQuadrangles, myNbBiQuadQuadrangles;
96 smIdType myNbPolygons , myNbQuadPolygons;
97
98 smIdType myNbTetras , myNbQuadTetras ;
99 smIdType myNbHexas , myNbQuadHexas, myNbTriQuadHexas;
100 smIdType myNbPyramids, myNbQuadPyramids;
101 smIdType myNbPrisms , myNbQuadPrisms, myNbBiQuadPrisms;
102 smIdType myNbHexPrism;
104
105 std::vector<smIdType*> myNb; // pointers to myNb... fields
106 std::vector<int> myShift; // shift to get an index in myNb by elem->NbNodes()
107};
108
110 myNbNodes (0),
111 myNb0DElements (0),
112 myNbBalls (0),
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),
121 myNbHexPrism (0),
122 myNbPolyhedrons(0)
123{
124 // Number of nodes in standard element types (. - actual nb, * - after the shift)
125 // n v f e 0 n b
126 // o o a d d o a
127 // d l c g d l
128 // e e e e l
129 // s
130 // ====================
131 // 0 ------------------ - DON't USE 0!!!
132 // 1 . * .
133 // 2 . *
134 // 3 . . *
135 // 4 * .
136 // 5 *
137 // 6 * .
138 // 7 .
139 // 8 * .
140 // 9 .
141 // 10 *
142 // 11
143 // 12 *
144 // 13 *
145 // 14
146 // 15 *
147 // 16 *
148 // 17 *
149 // 18 *
150 // 19
151 // 20 *
152 // 21
153 // 22
154 // 23
155 // 24
156 // 25 *
157 // 26 *
158 // 27 *
159 // 28 *
160 // 29 *
161 // 30 *
162 // 31 *
163 //
164 // So to have a unique index for each type basing on nb of nodes, we use a shift:
166
167 myShift[ SMDSAbs_Face ] = +22;// 3->25, 4->26, etc.
168 myShift[ SMDSAbs_Edge ] = +14;// 2->16, 3->17
169 myShift[ SMDSAbs_0DElement ] = +2; // 1->3
170 myShift[ SMDSAbs_Ball ] = +1; // 1->2
171
172 myNb.resize( index( SMDSAbs_Face,9 ) + 1, NULL);
173
174 myNb[ index( SMDSAbs_Node,1 )] = & myNbNodes;
176 myNb[ index( SMDSAbs_Ball,1 )] = & myNbBalls;
177
178 myNb[ index( SMDSAbs_Edge,2 )] = & myNbEdges;
180
187
199}
200
201inline SMDS_MeshInfo& // operator=
203{ for ( size_t i=0; i<myNb.size(); ++i ) if ( myNb[i] ) (*myNb[i])=(*other.myNb[i]);
207 return *this;
208}
209
210inline void // Clear
212{ for ( size_t i=0; i<myNb.size(); ++i ) if ( myNb[i] ) (*myNb[i])=0;
214}
215
216inline smIdType // index
218{ return nbNodes + myShift[ type ]; }
219
220inline void // remove
222{ --(*myNb[ index(el->GetType(), el->NbNodes()) ]); }
223
224inline void // add
226{ ++(*myNb[ index(el->GetType(), el->NbNodes()) ]); }
227
228inline void // addWithPoly
230 switch ( el->GetEntityType() ) {
231 case SMDSEntity_Polygon: ++myNbPolygons; break;
234 default: add(el);
235 }
236}
237inline void // RemoveEdge
239{ if ( el->IsQuadratic() ) --myNbQuadEdges; else --myNbEdges; }
240
241inline void // RemoveFace
243 switch ( el->GetEntityType() ) {
244 case SMDSEntity_Polygon: --myNbPolygons; break;
246 default: remove(el);
247 }
248}
249
250inline void // RemoveVolume
252{ if ( el->IsPoly() ) --myNbPolyhedrons; else remove( el ); }
253
254inline smIdType // NbEdges
256{ return order == ORDER_ANY ? myNbEdges+myNbQuadEdges : order == ORDER_LINEAR ? myNbEdges : myNbQuadEdges; }
257
258inline smIdType // NbFaces
261
262inline smIdType // NbTriangles
265
266inline smIdType // NbQuadrangles
269
270inline smIdType // NbPolygons
273
274inline smIdType // NbVolumes
276{ return NbTetras(order) + NbHexas(order) + NbPyramids(order) + NbPrisms(order) + NbHexPrisms(order) + (order == ORDER_QUADRATIC ? 0 : myNbPolyhedrons); }
277
278inline smIdType // NbTetras
280{ return order == ORDER_ANY ? myNbTetras+myNbQuadTetras : order == ORDER_LINEAR ? myNbTetras : myNbQuadTetras; }
281
282inline smIdType // NbHexas
285
286inline smIdType // NbPyramids
289
290inline smIdType // NbPrisms
293
294inline smIdType // NbHexPrisms
296{ return order == ORDER_ANY ? myNbHexPrism : order == ORDER_LINEAR ? myNbHexPrism : 0; }
297
298inline smIdType // NbElements
300{
301 smIdType nb = 0;
302 switch (type) {
303 case SMDSAbs_All:
304 for ( size_t i=1+index( SMDSAbs_Node,1 ); i<myNb.size(); ++i ) if ( myNb[i] ) nb += *myNb[i];
306 break;
307 case SMDSAbs_Volume:
311 break;
312 case SMDSAbs_Face:
316 break;
317 case SMDSAbs_Edge:
319 break;
320 case SMDSAbs_Node:
321 nb = myNbNodes;
322 break;
324 nb = myNb0DElements;
325 break;
326 case SMDSAbs_Ball:
327 nb = myNbBalls;
328 break;
329 default:;
330 }
331 return nb;
332}
333
334inline smIdType // NbEntities
336{
337 switch (type) {
338 case SMDSEntity_Node: return myNbNodes;
339 case SMDSEntity_Edge: return myNbEdges;
347 case SMDSEntity_Polygon: return myNbPolygons;
348 case SMDSEntity_Tetra: return myNbTetras;
350 case SMDSEntity_Pyramid: return myNbPyramids;
352 case SMDSEntity_Hexa: return myNbHexas;
355 case SMDSEntity_Penta: return myNbPrisms;
360 case SMDSEntity_0D: return myNb0DElements;
361 case SMDSEntity_Ball: return myNbBalls;
364 case SMDSEntity_Last:
365 break;
366 }
367 return 0;
368}
369
370inline smIdType // NbElementsOfGeom
372{
373 switch ( geom ) {
374 // 0D:
375 case SMDSGeom_POINT: return myNb0DElements;
376 // 1D:
377 case SMDSGeom_EDGE: return (myNbEdges +
379 // 2D:
380 case SMDSGeom_TRIANGLE: return (myNbTriangles +
387 // 3D:
388 case SMDSGeom_TETRA: return (myNbTetras +
390 case SMDSGeom_PYRAMID: return (myNbPyramids +
392 case SMDSGeom_HEXA: return (myNbHexas +
395 case SMDSGeom_PENTA: return (myNbPrisms +
400 // Discrete:
401 case SMDSGeom_BALL: return myNbBalls;
402 //
403 case SMDSGeom_NONE:
404 default:;
405 }
406 return 0;
407}
408
409inline void // setNb
410SMDS_MeshInfo::setNb(const SMDSAbs_EntityType geomType, const smIdType nb)
411{
412 switch (geomType) {
413 case SMDSEntity_Node: myNbNodes = nb; break;
414 case SMDSEntity_0D: myNb0DElements = nb; break;
415 case SMDSEntity_Ball: myNbBalls = nb; break;
418 case SMDSEntity_Edge: myNbEdges = nb; break;
419 case SMDSEntity_Hexa: myNbHexas = nb; break;
421 case SMDSEntity_Penta: myNbPrisms = nb; break;
422 case SMDSEntity_Polygon: myNbPolygons = nb; break;
423 case SMDSEntity_Polyhedra: myNbPolyhedrons = nb; break;
424 case SMDSEntity_Pyramid: myNbPyramids = nb; break;
425 case SMDSEntity_Quad_Edge: myNbQuadEdges = nb; break;
426 case SMDSEntity_Quad_Hexa: myNbQuadHexas = nb; break;
427 case SMDSEntity_Quad_Penta: myNbQuadPrisms = nb; break;
431 case SMDSEntity_Quad_Tetra: myNbQuadTetras = nb; break;
433 case SMDSEntity_Quadrangle: myNbQuadrangles = nb; break;
434 case SMDSEntity_Tetra: myNbTetras = nb; break;
436 case SMDSEntity_Triangle: myNbTriangles = nb; break;
439 case SMDSEntity_Last:
440 break;
441 }
442}
443
444#endif
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