Arcane  4.2.3.0
User documentation
Loading...
Searching...
No Matches
GeneratedConnectivity.h
1// WARNING: This file is generated by a tool. DO NOT EDIT.
2/*
3 * Generation of classes allowing retrieval of connectivity information
4 * for each type of geometric element.
5 */
6/*!
7 * \ingroup ArcaneGeometric
8 * \brief Connectivity information for geometric elements of type GeomType::Vertex.
9 */
10class ARCANE_GEOMETRY_EXPORT VertexConnectivity
11: public CellConnectivity
12{
13 public:
14
15 VertexConnectivity()
16 : CellConnectivity(1,0,0,GeomType::Vertex)
17 {
18 _init();
19 }
20
21 public:
22
23 constexpr Int32 nbNode() const { return 1; }
24 constexpr Int32 nbEdge() const { return 0; }
25 constexpr Int32 nbFace() const { return 0; }
26
27 private:
28
29 void _init();
30};
31/*!
32 * \ingroup ArcaneGeometric
33 * \brief Connectivity information for geometric elements of type GeomType::Line2.
34 */
35class ARCANE_GEOMETRY_EXPORT Line2Connectivity
36: public CellConnectivity
37{
38 public:
39
40 Line2Connectivity()
41 : CellConnectivity(2,0,0,GeomType::Line2)
42 {
43 _init();
44 }
45
46 public:
47
48 constexpr Int32 nbNode() const { return 2; }
49 constexpr Int32 nbEdge() const { return 0; }
50 constexpr Int32 nbFace() const { return 0; }
51
52 private:
53
54 void _init();
55};
56/*!
57 * \ingroup ArcaneGeometric
58 * \brief Connectivity information for geometric elements of type GeomType::Triangle3.
59 */
60class ARCANE_GEOMETRY_EXPORT Triangle3Connectivity
61: public CellConnectivity
62{
63 public:
64
65 Triangle3Connectivity()
66 : CellConnectivity(3,3,3,GeomType::Triangle3)
67 {
68 _init();
69 }
70
71 public:
72
73 constexpr Int32 nbNode() const { return 3; }
74 constexpr Int32 nbEdge() const { return 3; }
75 constexpr Int32 nbFace() const { return 3; }
76
77 private:
78
79 void _init();
80};
81/*!
82 * \ingroup ArcaneGeometric
83 * \brief Connectivity information for geometric elements of type GeomType::Quad4.
84 */
85class ARCANE_GEOMETRY_EXPORT Quad4Connectivity
86: public CellConnectivity
87{
88 public:
89
90 Quad4Connectivity()
91 : CellConnectivity(4,4,4,GeomType::Quad4)
92 {
93 _init();
94 }
95
96 public:
97
98 constexpr Int32 nbNode() const { return 4; }
99 constexpr Int32 nbEdge() const { return 4; }
100 constexpr Int32 nbFace() const { return 4; }
101
102 private:
103
104 void _init();
105};
106/*!
107 * \ingroup ArcaneGeometric
108 * \brief Connectivity information for geometric elements of type GeomType::Pentagon5.
109 */
110class ARCANE_GEOMETRY_EXPORT Pentagon5Connectivity
111: public CellConnectivity
112{
113 public:
114
115 Pentagon5Connectivity()
116 : CellConnectivity(5,5,5,GeomType::Pentagon5)
117 {
118 _init();
119 }
120
121 public:
122
123 constexpr Int32 nbNode() const { return 5; }
124 constexpr Int32 nbEdge() const { return 5; }
125 constexpr Int32 nbFace() const { return 5; }
126
127 private:
128
129 void _init();
130};
131/*!
132 * \ingroup ArcaneGeometric
133 * \brief Connectivity information for geometric elements of type GeomType::Hexagon6.
134 */
135class ARCANE_GEOMETRY_EXPORT Hexagon6Connectivity
136: public CellConnectivity
137{
138 public:
139
140 Hexagon6Connectivity()
141 : CellConnectivity(6,6,6,GeomType::Hexagon6)
142 {
143 _init();
144 }
145
146 public:
147
148 constexpr Int32 nbNode() const { return 6; }
149 constexpr Int32 nbEdge() const { return 6; }
150 constexpr Int32 nbFace() const { return 6; }
151
152 private:
153
154 void _init();
155};
156/*!
157 * \ingroup ArcaneGeometric
158 * \brief Connectivity information for geometric elements of type GeomType::Tetraedron4.
159 */
160class ARCANE_GEOMETRY_EXPORT Tetraedron4Connectivity
161: public CellConnectivity
162{
163 public:
164
165 Tetraedron4Connectivity()
166 : CellConnectivity(4,6,4,GeomType::Tetraedron4)
167 {
168 _init();
169 }
170
171 public:
172
173 constexpr Int32 nbNode() const { return 4; }
174 constexpr Int32 nbEdge() const { return 6; }
175 constexpr Int32 nbFace() const { return 4; }
176
177 private:
178
179 void _init();
180};
181/*!
182 * \ingroup ArcaneGeometric
183 * \brief Connectivity information for geometric elements of type GeomType::Pyramid5.
184 *
185 * \note the pyramid has 8 edges but it is considered a degenerate hexahedron
186 * at the pyramid's apex. To account for this, we indicate
187 * that it has 12 edges.
188 */
189class ARCANE_GEOMETRY_EXPORT Pyramid5Connectivity
190: public CellConnectivity
191{
192 public:
193
194 Pyramid5Connectivity()
195 : CellConnectivity(5,12,5,GeomType::Pyramid5)
196 {
197 _init();
198 }
199
200 public:
201
202 constexpr Int32 nbNode() const { return 5; }
203 constexpr Int32 nbEdge() const { return 12; }
204 constexpr Int32 nbFace() const { return 5; }
205
206 private:
207
208 void _init();
209};
210/*!
211 * \ingroup ArcaneGeometric
212 * \brief Connectivity information for geometric elements of type GeomType::Pentaedron6.
213 */
214class ARCANE_GEOMETRY_EXPORT Pentaedron6Connectivity
215: public CellConnectivity
216{
217 public:
218
219 Pentaedron6Connectivity()
220 : CellConnectivity(6,9,5,GeomType::Pentaedron6)
221 {
222 _init();
223 }
224
225 public:
226
227 constexpr Int32 nbNode() const { return 6; }
228 constexpr Int32 nbEdge() const { return 9; }
229 constexpr Int32 nbFace() const { return 5; }
230
231 private:
232
233 void _init();
234};
235/*!
236 * \ingroup ArcaneGeometric
237 * \brief Connectivity information for geometric elements of type GeomType::Hexaedron8.
238 */
239class ARCANE_GEOMETRY_EXPORT Hexaedron8Connectivity
240: public CellConnectivity
241{
242 public:
243
244 Hexaedron8Connectivity()
245 : CellConnectivity(8,12,6,GeomType::Hexaedron8)
246 {
247 _init();
248 }
249
250 public:
251
252 constexpr Int32 nbNode() const { return 8; }
253 constexpr Int32 nbEdge() const { return 12; }
254 constexpr Int32 nbFace() const { return 6; }
255
256 private:
257
258 void _init();
259};
260/*!
261 * \ingroup ArcaneGeometric
262 * \brief Connectivity information for geometric elements of type GeomType::Heptaedron10.
263 */
264class ARCANE_GEOMETRY_EXPORT Heptaedron10Connectivity
265: public CellConnectivity
266{
267 public:
268
269 Heptaedron10Connectivity()
270 : CellConnectivity(10,15,6,GeomType::Heptaedron10)
271 {
272 _init();
273 }
274
275 public:
276
277 constexpr Int32 nbNode() const { return 10; }
278 constexpr Int32 nbEdge() const { return 15; }
279 constexpr Int32 nbFace() const { return 6; }
280
281 private:
282
283 void _init();
284};
285/*!
286 * \ingroup ArcaneGeometric
287 * \brief Connectivity information for geometric elements of type GeomType::Octaedron12.
288 */
289class ARCANE_GEOMETRY_EXPORT Octaedron12Connectivity
290: public CellConnectivity
291{
292 public:
293
294 Octaedron12Connectivity()
295 : CellConnectivity(12,18,8,GeomType::Octaedron12)
296 {
297 _init();
298 }
299
300 public:
301
302 constexpr Int32 nbNode() const { return 12; }
303 constexpr Int32 nbEdge() const { return 18; }
304 constexpr Int32 nbFace() const { return 8; }
305
306 private:
307
308 void _init();
309};
310
311