Arcane  v4.1.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
CartesianMeshNumberingMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* CartesianMeshNumberingMng.h (C) 2000-2026 */
9/* */
10/* Gestionnaire de numérotation de maillage cartesian. La numérotation */
11/* utilisée ici est la même que celle utilisée dans la renumérotation V2. */
12/*---------------------------------------------------------------------------*/
13/*---------------------------------------------------------------------------*/
14
15#ifndef ARCANE_CARTESIANMESH_CARTESIANMESHNUMBERINGMNG_H
16#define ARCANE_CARTESIANMESH_CARTESIANMESHNUMBERINGMNG_H
17
18/*---------------------------------------------------------------------------*/
19/*---------------------------------------------------------------------------*/
20
21#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
22
23#include "arcane/utils/Ref.h"
24#include "arcane/core/Item.h"
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29namespace Arcane
30{
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35class ICartesianMeshNumberingMngInternal;
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
40/*!
41 * \brief Interface de gestionnaire de numérotation pour maillage cartesian.
42 *
43 * Dans ces gestionnaires, on considère que l'on a un intervalle d'uniqueIds
44 * attribué à chaque niveau du maillage.
45 *
46 * \warning Le maillage ne doit pas être renuméroté si cette numérotation est
47 * utilisée.
48 */
49class ARCANE_CARTESIANMESH_EXPORT CartesianMeshNumberingMng
50{
51 public:
52
53 explicit CartesianMeshNumberingMng(ICartesianMesh* mesh);
54
55 public:
56
57 /*!
58 * \brief Méthode permettant de décrire l'état de l'objet.
59 */
60 void printStatus() const;
61
62 /*!
63 * \brief Méthode permettant de récupérer le premier unique id utilisé par les mailles d'un niveau.
64 * L'appel de cette méthode avec level et level+1 permet de récupérer l'intervalle des uniqueids
65 * d'un niveau.
66 *
67 * \param level Le niveau.
68 * \return Le premier uid des mailles du niveau.
69 */
70 Int64 firstCellUniqueId(Int32 level) const;
71
72 /*!
73 * \brief Méthode permettant de récupérer le premier unique id utilisé par les noeuds d'un niveau.
74 * L'appel de cette méthode avec level et level+1 permet de récupérer l'intervalle des uniqueids
75 * d'un niveau.
76 *
77 * \param level Le niveau.
78 * \return Le premier uid des noeuds du niveau.
79 */
80 Int64 firstNodeUniqueId(Int32 level) const;
81
82 /*!
83 * \brief Méthode permettant de récupérer le premier unique id utilisé par les faces d'un niveau.
84 * L'appel de cette méthode avec level et level+1 permet de récupérer l'intervalle des uniqueids
85 * d'un niveau.
86 *
87 * \param level Le niveau.
88 * \return Le premier uid des faces du niveau.
89 */
90 Int64 firstFaceUniqueId(Int32 level) const;
91
92 /*!
93 * \brief Méthode permettant de récupérer le nombre de mailles global en X d'un niveau.
94 *
95 * \param level Le niveau.
96 * \return Le nombre de mailles en X.
97 */
98 CartCoord globalNbCellsX(Int32 level) const;
99
100 /*!
101 * \brief Méthode permettant de récupérer le nombre de mailles global en Y d'un niveau.
102 *
103 * \param level Le niveau.
104 * \return Le nombre de mailles en Y.
105 */
106 CartCoord globalNbCellsY(Int32 level) const;
107
108 /*!
109 * \brief Méthode permettant de récupérer le nombre de mailles global en Z d'un niveau.
110 *
111 * \param level Le niveau.
112 * \return Le nombre de mailles en Z.
113 */
114 CartCoord globalNbCellsZ(Int32 level) const;
115
116 /*!
117 * \brief Méthode permettant de récupérer le nombre de noeuds global en X d'un niveau.
118 *
119 * \param level Le niveau.
120 * \return Le nombre de noeuds en X.
121 */
122 CartCoord globalNbNodesX(Int32 level) const;
123
124 /*!
125 * \brief Méthode permettant de récupérer le nombre de noeuds global en Y d'un niveau.
126 *
127 * \param level Le niveau.
128 * \return Le nombre de noeuds en Y.
129 */
130 CartCoord globalNbNodesY(Int32 level) const;
131
132 /*!
133 * \brief Méthode permettant de récupérer le nombre de noeuds global en Z d'un niveau.
134 *
135 * \param level Le niveau.
136 * \return Le nombre de noeuds en Z.
137 */
138 CartCoord globalNbNodesZ(Int32 level) const;
139
140 /*!
141 * \brief Méthode permettant de récupérer le nombre de faces global en X d'un niveau.
142 *
143 * Admettons que l'on ai les faces suivantes :
144 * ┌─0──┬──2─┐
145 * 4│ 6│ 8│
146 * ├─5──┼─7──┤
147 * 9│ 11│ 13│
148 * └─10─┴─12─┘
149 *
150 * Donc, on a 2x2 mailles.
151 * En X, on a 3 faces.
152 *
153 * Pour le nombre de faces en vue cartésienne, voir \a globalNbFacesXCartesianView.
154 *
155 * \param level Le niveau.
156 * \return Le nombre de faces en X.
157 */
158 CartCoord globalNbFacesX(Int32 level) const;
159
160 /*!
161 * \brief Méthode permettant de récupérer le nombre de faces global en Y d'un niveau.
162 *
163 * Admettons que l'on ai les faces suivantes :
164 * ┌─0──┬──2─┐
165 * 4│ 6│ 8│
166 * ├─5──┼─7──┤
167 * 9│ 11│ 13│
168 * └─10─┴─12─┘
169 *
170 * Donc, on a 2x2 mailles.
171 * En Y, on a 3 faces.
172 *
173 * Pour le nombre de faces en vue cartésienne, voir \a globalNbFacesYCartesianView.
174 *
175 * \param level Le niveau.
176 * \return Le nombre de faces en Y.
177 */
178 CartCoord globalNbFacesY(Int32 level) const;
179
180 /*!
181 * \brief Méthode permettant de récupérer le nombre de faces global en Z d'un niveau.
182 *
183 * Admettons que l'on ai les faces suivantes :
184 * ┌─0──┬──2─┐
185 * 4│ 6│ 8│
186 * ├─5──┼─7──┤
187 * 9│ 11│ 13│
188 * └─10─┴─12─┘
189 *
190 * Si on a 2x2x2 mailles, on aura, en Z, 3 faces.
191 *
192 * Pour le nombre de faces en vue cartésienne, voir \a globalNbFacesZCartesianView.
193 *
194 * \param level Le niveau.
195 * \return Le nombre de faces en Z.
196 */
197 CartCoord globalNbFacesZ(Int32 level) const;
198
199 /*!
200 * \brief Méthode permettant de récupérer la taille de la vue "grille cartésienne"
201 * contenant les faces.
202 *
203 * En 2D, on peut avoir cette vue (pour un maillage de 2x2 mailles) :
204 * x = 0 1 2 3 4
205 * ┌──┬──┬──┬──┬──┐
206 * y = -1 │ 0│ │ 2│ │ 4│
207 * ┌──┬──┬──┬──┬──┐
208 * y │ │ 1│ │ 3│ │
209 * ├──┼──┼──┼──┼──┤
210 * y = 1 │ 5│ │ 7│ │ 9│
211 * ├──┼──┼──┼──┼──┤
212 * y = 2 │ │ 6│ │ 8│ │
213 * ├──┼──┼──┼──┼──┤
214 * y = 3 │10│ │12│ │14│
215 * ├──┼──┼──┼──┼──┤
216 * y = 4 │ │11│ │13│ │
217 * └──┴──┴──┴──┴──┘
218 * (dans cette vue, les mailles se situent aux X et Y impaires
219 * (donc ici, [1, 1], [3, 1], [1, 3] et [3, 3])).
220 *
221 * \note En 2D, on considère que l'on a un niveau imaginaire y=-1.
222 * \warning Afin de commencer la numérotation à 0, dans les méthodes
223 * retournant un uniqueId de face 2D, on fait FaceUID-1.
224 *
225 * Et en 3D (pour un maillage de 2x2x2 mailles) :
226 * z │ z = 1 │ z = 2 │ z = 3 │ z = 4
227 * x = 0 1 2 3 4 │ 0 1 2 3 4 │ 0 1 2 3 4 │ 0 1 2 3 4 │ 0 1 2 3 4
228 * ┌──┬──┬──┬──┬──┐ │ ┌──┬──┬──┬──┬──┐ │ ┌──┬──┬──┬──┬──┐ │ ┌──┬──┬──┬──┬──┐ │ ┌──┬──┬──┬──┬──┐
229 * y │ │ │ │ │ │ │ │ │24│ │25│ │ │ │ │ │ │ │ │ │ │ │30│ │31│ │ │ │ │ │ │ │ │
230 * ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤
231 * y = 1 │ │ 0│ │ 1│ │ │ │12│ │13│ │14│ │ │ │ 4│ │ 5│ │ │ │18│ │19│ │20│ │ │ │ 8│ │ 9│ │
232 * ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤
233 * y = 2 │ │ │ │ │ │ │ │ │26│ │27│ │ │ │ │ │ │ │ │ │ │ │32│ │33│ │ │ │ │ │ │ │ │
234 * ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤
235 * y = 3 │ │ 2│ │ 3│ │ │ │15│ │16│ │17│ │ │ │ 6│ │ 7│ │ │ │21│ │22│ │23│ │ │ │10│ │11│ │
236 * ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤
237 * y = 4 │ │ │ │ │ │ │ │ │28│ │29│ │ │ │ │ │ │ │ │ │ │ │34│ │35│ │ │ │ │ │ │ │ │
238 * └──┴──┴──┴──┴──┘ │ └──┴──┴──┴──┴──┘ │ └──┴──┴──┴──┴──┘ │ └──┴──┴──┴──┴──┘ │ └──┴──┴──┴──┴──┘
239 * │ │ │ │
240 *
241 * (dans cette vue, les mailles se situent aux X, Y et Z impaires
242 * (donc ici, [1, 1, 1], [3, 1, 1], [1, 3, 1], &c)).
243 *
244 * \param level Le niveau.
245 * \return La taille de la grille en X.
246 */
248
249 /*!
250 * \brief Méthode permettant de récupérer la taille de la vue "grille cartésienne"
251 * contenant les faces.
252 *
253 * Un exemple de cette vue est disponible dans la documentation de \a globalNbFacesXCartesianView.
254 *
255 * \param level Le niveau.
256 * \return La taille de la grille en Y.
257 */
259
260 /*!
261 * \brief Méthode permettant de récupérer la taille de la vue "grille cartésienne"
262 * contenant les faces.
263 *
264 * Un exemple de cette vue est disponible dans la documentation de \a globalNbFacesXCartesianView.
265 *
266 * \param level Le niveau.
267 * \return La taille de la grille en Z.
268 */
270
271 /*!
272 * \brief Méthode permettant de récupérer le nombre de mailles total dans un niveau.
273 *
274 * \param level Le niveau.
275 * \return Le nombre de mailles dans le niveau.
276 */
277 Int64 nbCellInLevel(Int32 level) const;
278
279 /*!
280 * \brief Méthode permettant de récupérer le nombre de noeuds total dans un niveau.
281 *
282 * \param level Le niveau.
283 * \return Le nombre de noeuds dans le niveau.
284 */
285 Int64 nbNodeInLevel(Int32 level) const;
286
287 /*!
288 * \brief Méthode permettant de récupérer le nombre de faces total dans un niveau.
289 *
290 * \param level Le niveau.
291 * \return Le nombre de faces dans le niveau.
292 */
293 Int64 nbFaceInLevel(Int32 level) const;
294
295 /*!
296 * \brief Méthode permettant de récupérer le pattern de raffinement utilisé dans chaque maille.
297 * Par exemple, si le pattern vaut 2, chaque maille parente aura 2*2 mailles filles (2*2*2 en 3D).
298 *
299 * \return Le pattern de raffinement.
300 */
301 Int32 pattern() const;
302
303 /*!
304 * \brief Méthode permettant de récupérer le niveau d'une maille avec son uid.
305 *
306 * \param uid L'uniqueId de la maille.
307 * \return Le niveau de la maille.
308 */
309 Int32 cellLevel(Int64 uid) const;
310
311 /*!
312 * \brief Méthode permettant de récupérer le niveau d'un noeud avec son uid.
313 *
314 * \param uid L'uniqueId du noeud.
315 * \return Le niveau du noeud.
316 */
317 Int32 nodeLevel(Int64 uid) const;
318
319 /*!
320 * \brief Méthode permettant de récupérer le niveau d'une face avec son uid.
321 *
322 * \param uid L'uniqueId de la face.
323 * \return Le niveau de la face.
324 */
325 Int32 faceLevel(Int64 uid) const;
326
327 /*!
328 * \brief Méthode permettant d'obtenir la position du premier noeud/maille fille à partir de la position
329 * du noeud/maille parent.
330 *
331 * Exemple : si l'on a un maillage 2D de 2*2 mailles et un pattern de raffinement de 2,
332 * on sait que la grille de niveau 1 (pour les patchs de niveau 1) sera de 4*4 mailles.
333 * Le premier noeud/maille fille du noeud/maille parent (Xp=1,Yp=0) aura la position Xf=Xp*Pattern=2 (idem pour Y).
334 *
335 * \param coord La position X ou Y ou Z du noeud/maille parent.
336 * \param level_from Le niveau parent.
337 * \param level_to Le niveau enfant.
338 * \return La position de la première fille du noeud/maille parent.
339 */
340 CartCoord offsetLevelToLevel(CartCoord coord, Int32 level_from, Int32 level_to) const;
341
342 /*!
343 * \brief Méthode permettant d'obtenir la position de la première face enfant à partir de la position
344 * de la face parente.
345 *
346 * Attention, les coordonnées utilisées ici sont les coordonnées des faces en "vue cartésienne"
347 * (voir \a globalNbFacesXCartesianView ).
348 *
349 * \param coord La position X ou Y ou Z de la face parente.
350 * \param level_from Le niveau parent.
351 * \param level_to Le niveau enfant.
352 * \return La position du premier enfant de la face parente.
353 */
354 CartCoord faceOffsetLevelToLevel(CartCoord coord, Int32 level_from, Int32 level_to) const;
355
356 /*!
357 * \brief Méthode permettant de récupérer les coordonnées d'une maille grâce à son uniqueId.
358 *
359 * \param uid L'uniqueId de la maille.
360 * \param level Le niveau de la maille.
361 * \return La position de la maille.
362 */
363 CartCoord3 cellUniqueIdToCoord(Int64 uid, Int32 level) const;
364
365 /*!
366 * \brief Méthode permettant de récupérer les coordonnées d'une maille.
367 *
368 * \param cell La maille.
369 * \return La position de la maille.
370 */
372
373 /*!
374 * \brief Méthode permettant de récupérer la coordonnée en X d'une maille grâce à son uniqueId.
375 *
376 * \param uid L'uniqueId de la maille.
377 * \param level Le niveau de la maille.
378 * \return La position en X de la maille.
379 */
380 CartCoord cellUniqueIdToCoordX(Int64 uid, Int32 level) const;
381
382 /*!
383 * \brief Méthode permettant de récupérer la coordonnée en X d'une maille.
384 *
385 * \param cell La maille.
386 * \return La position en X de la maille.
387 */
389
390 /*!
391 * \brief Méthode permettant de récupérer la coordonnée en Y d'une maille grâce à son uniqueId.
392 *
393 * \param uid L'uniqueId de la maille.
394 * \param level Le niveau de la maille.
395 * \return La position en Y de la maille.
396 */
397 CartCoord cellUniqueIdToCoordY(Int64 uid, Int32 level) const;
398
399 /*!
400 * \brief Méthode permettant de récupérer la coordonnée en Y d'une maille.
401 *
402 * \param cell La maille.
403 * \return La position en Y de la maille.
404 */
406
407 /*!
408 * \brief Méthode permettant de récupérer la coordonnée en Z d'une maille grâce à son uniqueId.
409 *
410 * \param uid L'uniqueId de la maille.
411 * \param level Le niveau de la maille.
412 * \return La position en Z de la maille.
413 */
414 CartCoord cellUniqueIdToCoordZ(Int64 uid, Int32 level) const;
415
416 /*!
417 * \brief Méthode permettant de récupérer la coordonnée en Z d'une maille.
418 *
419 * \param cell La maille.
420 * \return La position en Z de la maille.
421 */
423
424 /*!
425 * \brief Méthode permettant de récupérer la coordonnée en X d'un noeud grâce à son uniqueId.
426 *
427 * \param uid L'uniqueId du noeud.
428 * \param level Le niveau du noeud.
429 * \return La position en X du noeud.
430 */
431 CartCoord nodeUniqueIdToCoordX(Int64 uid, Int32 level) const;
432
433 /*!
434 * \brief Méthode permettant de récupérer la coordonnée en X d'un noeud.
435 *
436 * \param node Le noeud.
437 * \return La position en X du noeud.
438 */
440
441 /*!
442 * \brief Méthode permettant de récupérer la coordonnée en Y d'un noeud grâce à son uniqueId.
443 *
444 * \param uid L'uniqueId du noeud.
445 * \param level Le niveau du noeud.
446 * \return La position en Y du noeud.
447 */
448 CartCoord nodeUniqueIdToCoordY(Int64 uid, Int32 level) const;
449
450 /*!
451 * \brief Méthode permettant de récupérer la coordonnée en Y d'un noeud.
452 *
453 * \param node Le noeud.
454 * \return La position en Y du noeud.
455 */
457
458 /*!
459 * \brief Méthode permettant de récupérer la coordonnée en Z d'un noeud grâce à son uniqueId.
460 *
461 * \param uid L'uniqueId du noeud.
462 * \param level Le niveau du noeud.
463 * \return La position en Z du noeud.
464 */
465 CartCoord nodeUniqueIdToCoordZ(Int64 uid, Int32 level) const;
466
467 /*!
468 * \brief Méthode permettant de récupérer la coordonnée en Z d'un noeud.
469 *
470 * \param node Le noeud.
471 * \return La position en Z du noeud.
472 */
474
475 /*!
476 * \brief Méthode permettant de récupérer la coordonnée en X d'une face grâce à son uniqueId.
477 *
478 * Attention, les coordonnées utilisées ici sont les coordonnées des faces en "vue cartésienne"
479 * (voir \a globalNbFacesXCartesianView ).
480 *
481 * \param uid L'uniqueId de la face.
482 * \param level Le niveau de la face.
483 * \return La position en X de la face.
484 */
485 CartCoord faceUniqueIdToCoordX(Int64 uid, Int32 level) const;
486
487 /*!
488 * \brief Méthode permettant de récupérer la coordonnée en X d'une face.
489 *
490 * Attention, les coordonnées utilisées ici sont les coordonnées des faces en "vue cartésienne"
491 * (voir \a globalNbFacesXCartesianView ).
492 *
493 * \param face La face.
494 * \return La position en X de la face.
495 */
497
498 /*!
499 * \brief Méthode permettant de récupérer la coordonnée en Y d'une face grâce à son uniqueId.
500 *
501 * Attention, les coordonnées utilisées ici sont les coordonnées des faces en "vue cartésienne"
502 * (voir \a globalNbFacesXCartesianView ).
503 *
504 * \param uid L'uniqueId de la face.
505 * \param level Le niveau de la face.
506 * \return La position en Y de la face.
507 */
508 CartCoord faceUniqueIdToCoordY(Int64 uid, Int32 level) const;
509
510 /*!
511 * \brief Méthode permettant de récupérer la coordonnée en Y d'une face.
512 *
513 * Attention, les coordonnées utilisées ici sont les coordonnées des faces en "vue cartésienne"
514 * (voir \a globalNbFacesXCartesianView ).
515 *
516 * \param face La face.
517 * \return La position en Y de la face.
518 */
520
521 /*!
522 * \brief Méthode permettant de récupérer la coordonnée en Z d'une face grâce à son uniqueId.
523 *
524 * Attention, les coordonnées utilisées ici sont les coordonnées des faces en "vue cartésienne"
525 * (voir \a globalNbFacesXCartesianView ).
526 *
527 * \param uid L'uniqueId de la face.
528 * \param level Le niveau de la face.
529 * \return La position en Z de la face.
530 */
531 CartCoord faceUniqueIdToCoordZ(Int64 uid, Int32 level) const;
532
533 /*!
534 * \brief Méthode permettant de récupérer la coordonnée en Z d'une face.
535 *
536 * Attention, les coordonnées utilisées ici sont les coordonnées des faces en "vue cartésienne"
537 * (voir \a globalNbFacesXCartesianView ).
538 *
539 * \param face La face.
540 * \return La position en Z de la face.
541 */
543
544 /*!
545 * \brief Méthode permettant de récupérer l'uniqueId d'une maille à partir de sa position et de son niveau.
546 *
547 * \param cell_coord La position de la maille.
548 * \param level Le niveau de la maille.
549 * \return L'uniqueId de la maille.
550 */
551 Int64 cellUniqueId(CartCoord3 cell_coord, Int32 level) const;
552
553 /*!
554 * \brief Méthode permettant de récupérer l'uniqueId d'une maille à partir de sa position et de son niveau.
555 *
556 * \param cell_coord La position de la maille.
557 * \param level Le niveau de la maille.
558 * \return L'uniqueId de la maille.
559 */
560 Int64 cellUniqueId(CartCoord2 cell_coord, Int32 level) const;
561
562 /*!
563 * \brief Méthode permettant de récupérer l'uniqueId d'un noeud à partir de sa position et de son niveau.
564 *
565 * \param node_coord La position du noeud.
566 * \param level Le niveau du noeud.
567 * \return L'uniqueId du noeud.
568 */
569 Int64 nodeUniqueId(CartCoord3 node_coord, Int32 level) const;
570
571 /*!
572 * \brief Méthode permettant de récupérer l'uniqueId d'un noeud à partir de sa position et de son niveau.
573 *
574 * \param node_coord La position du noeud.
575 * \param level Le niveau du noeud.
576 * \return L'uniqueId du noeud.
577 */
578 Int64 nodeUniqueId(CartCoord2 node_coord, Int32 level) const;
579
580 /*!
581 * \brief Méthode permettant de récupérer l'uniqueId d'une face à partir de sa position et de son niveau.
582 *
583 * Attention, les coordonnées utilisées ici sont les coordonnées des faces en "vue cartésienne"
584 * (voir \a globalNbFacesXCartesianView ).
585 *
586 * \param face_coord La position de la face.
587 * \param level Le niveau de la face.
588 * \return L'uniqueId de la face.
589 */
590 Int64 faceUniqueId(CartCoord3 face_coord, Int32 level) const;
591
592 /*!
593 * \brief Méthode permettant de récupérer l'uniqueId d'une face à partir de sa position et de son niveau.
594 *
595 * Attention, les coordonnées utilisées ici sont les coordonnées des faces en "vue cartésienne"
596 * (voir \a globalNbFacesXCartesianView ).
597 *
598 * \param face_coord La position de la face.
599 * \param level Le niveau de la face.
600 * \return L'uniqueId de la face.
601 */
602 Int64 faceUniqueId(CartCoord2 face_coord, Int32 level) const;
603
604 /*!
605 * \brief Méthode permettant de récupérer le nombre de noeuds dans une maille.
606 *
607 * \return Le nombre de noeuds d'une maille.
608 */
609 Int32 nbNodeByCell() const;
610
611 /*!
612 * \brief Méthode permettant de récupérer les uniqueIds des noeuds d'une maille à partir de
613 * ses coordonnées.
614 *
615 * L'ordre dans lequel les uniqueIds sont placés correspond à l'ordre d'énumération des noeuds
616 * d'une maille d'Arcane.
617 * 3--2
618 * ^y | |
619 * | 0--1
620 * ->x
621 *
622 * \param cell_coord La position de la maille.
623 * \param level Le niveau de la maille (et donc des noeuds).
624 * \param uid [OUT] Les uniqueIds de la maille. La taille de l'ArrayView doit être égal à nbNodeByCell().
625 */
626 void cellNodeUniqueIds(CartCoord3 cell_coord, Int32 level, ArrayView<Int64> uid) const;
627
628 /*!
629 * \brief Méthode permettant de récupérer les uniqueIds des noeuds d'une maille à partir de
630 * ses coordonnées.
631 *
632 * L'ordre dans lequel les uniqueIds sont placés correspond à l'ordre d'énumération des noeuds
633 * d'une maille d'Arcane.
634 * 3--2
635 * ^y | |
636 * | 0--1
637 * ->x
638 *
639 * \param cell_coord La position de la maille.
640 * \param level Le niveau de la maille (et donc des noeuds).
641 * \param uid [OUT] Les uniqueIds de la maille. La taille de l'ArrayView doit être égal à nbNodeByCell().
642 */
643 void cellNodeUniqueIds(CartCoord2 cell_coord, Int32 level, ArrayView<Int64> uid) const;
644
645 /*!
646 * \brief Méthode permettant de récupérer les uniqueIds des noeuds d'une maille à partir de
647 * son uniqueId.
648 *
649 * L'ordre dans lequel les uniqueIds sont placés correspond à l'ordre d'énumération des noeuds
650 * d'une maille d'Arcane.
651 * 3--2
652 * ^y | |
653 * | 0--1
654 * ->x
655 *
656 * \param cell_uid L'uniqueId de la maille.
657 * \param level Le niveau de la maille (et donc des noeuds).
658 * \param uid [OUT] Les uniqueIds de la maille. La taille de l'ArrayView doit être égal à nbNodeByCell().
659 */
660 void cellNodeUniqueIds(Int64 cell_uid, Int32 level, ArrayView<Int64> uid) const;
661
662 /*!
663 * \brief Méthode permettant de récupérer les uniqueIds des noeuds d'une maille.
664 *
665 * L'ordre dans lequel les uniqueIds sont placés correspond à l'ordre d'énumération des noeuds
666 * d'une maille d'Arcane.
667 * 3--2
668 * ^y | |
669 * | 0--1
670 * ->x
671 *
672 * \param cell La maille.
673 * \param uid [OUT] Les uniqueIds de la maille. La taille de l'ArrayView doit être égal à nbNodeByCell().
674 */
675 void cellNodeUniqueIds(Cell cell, ArrayView<Int64> uid) const;
676
677 /*!
678 * \brief Méthode permettant de récupérer le nombre de faces dans une maille.
679 *
680 * \return Le nombre de faces d'une maille.
681 */
682 Int32 nbFaceByCell() const;
683
684 /*!
685 * \brief Méthode permettant de récupérer les uniqueIds des faces d'une maille à partir de
686 * ses coordonnées.
687 *
688 * L'ordre dans lequel les uniqueIds sont placés correspond à l'ordre d'énumération des faces
689 * d'une maille d'Arcane.
690 * -2-
691 * ^y 3 1
692 * | -0-
693 * ->x
694 *
695 * \param cell_coord La position de la maille.
696 * \param level Le niveau de la maille (et donc des faces).
697 * \param uid [OUT] Les uniqueIds de la maille. La taille de l'ArrayView doit être égal à nbFaceByCell().
698 */
699 void cellFaceUniqueIds(CartCoord3 cell_coord, Int32 level, ArrayView<Int64> uid) const;
700
701 /*!
702 * \brief Méthode permettant de récupérer les uniqueIds des faces d'une maille à partir de
703 * ses coordonnées.
704 *
705 * L'ordre dans lequel les uniqueIds sont placés correspond à l'ordre d'énumération des faces
706 * d'une maille d'Arcane.
707 * -2-
708 * ^y 3 1
709 * | -0-
710 * ->x
711 *
712 * \param cell_coord La position de la maille.
713 * \param level Le niveau de la maille (et donc des faces).
714 * \param uid [OUT] Les uniqueIds de la maille. La taille de l'ArrayView doit être égal à nbFaceByCell().
715 */
716 void cellFaceUniqueIds(CartCoord2 cell_coord, Int32 level, ArrayView<Int64> uid) const;
717
718 /*!
719 * \brief Méthode permettant de récupérer les uniqueIds des faces d'une maille à partir de
720 * son uniqueId.
721 *
722 * L'ordre dans lequel les uniqueIds sont placés correspond à l'ordre d'énumération des faces
723 * d'une maille d'Arcane.
724 * -2-
725 * ^y 3 1
726 * | -0-
727 * ->x
728 *
729 * \param cell_uid L'uniqueId de la maille.
730 * \param level Le niveau de la maille (et donc des faces).
731 * \param uid [OUT] Les uniqueIds de la maille. La taille de l'ArrayView doit être égal à nbFaceByCell().
732 */
733 void cellFaceUniqueIds(Int64 cell_uid, Int32 level, ArrayView<Int64> uid) const;
734
735 /*!
736 * \brief Méthode permettant de récupérer les uniqueIds des faces d'une maille.
737 *
738 * L'ordre dans lequel les uniqueIds sont placés correspond à l'ordre d'énumération des faces
739 * d'une maille d'Arcane.
740 * -2-
741 * ^y 3 1
742 * | -0-
743 * ->x
744 *
745 * \param cell La maille.
746 * \param uid [OUT] Les uniqueIds de la maille. La taille de l'ArrayView doit être égal à nbFaceByCell().
747 */
748 void cellFaceUniqueIds(Cell cell, ArrayView<Int64> uid) const;
749
750 /*!
751 * \brief Méthode permettant de récupérer les uniqueIds des mailles autour d'une maille.
752 *
753 * S'il n'y a pas de maille à un endroit autour (si on est au bord du maillage par exemple),
754 * on met un uniqueId = -1.
755 *
756 * La vue passée en paramètre doit faire une taille de 27.
757 *
758 * \param cell_coord La position de la maille.
759 * \param level Le niveau de la maille au centre.
760 * \param uid [OUT] Les uniqueIds des mailles autour.
761 */
762 void cellUniqueIdsAroundCell(CartCoord3 cell_coord, Int32 level, ArrayView<Int64> uid) const;
763
764 /*!
765 * \brief Méthode permettant de récupérer les uniqueIds des mailles autour d'une maille.
766 *
767 * S'il n'y a pas de maille à un endroit autour (si on est au bord du maillage par exemple),
768 * on met un uniqueId = -1.
769 *
770 * La vue passée en paramètre doit faire une taille de 9.
771 *
772 * \param cell_coord La position de la maille.
773 * \param level Le niveau de la maille au centre.
774 * \param uid [OUT] Les uniqueIds des mailles autour.
775 */
776 void cellUniqueIdsAroundCell(CartCoord2 cell_coord, Int32 level, ArrayView<Int64> uid) const;
777
778 /*!
779 * \brief Méthode permettant de récupérer les uniqueIds des mailles autour de la maille passée
780 * en paramètre.
781 *
782 * S'il n'y a pas de maille à un endroit autour (si on est au bord du maillage par exemple),
783 * on met un uniqueId = -1.
784 *
785 * La vue passée en paramètre doit faire une taille de 9 en 2D et de 27 en 3D.
786 *
787 * \param cell_uid L'uniqueId de la maille au centre.
788 * \param level Le niveau de la maille au centre.
789 * \param uid [OUT] Les uniqueIds des mailles autour.
790 */
791 void cellUniqueIdsAroundCell(Int64 cell_uid, Int32 level, ArrayView<Int64> uid) const;
792
793 /*!
794 * \brief Méthode permettant de récupérer les uniqueIds des mailles autour de la maille passée
795 * en paramètre.
796 *
797 * S'il n'y a pas de maille à un endroit autour (si on est au bord du maillage par exemple),
798 * on met un uniqueId = -1.
799 *
800 * La vue passée en paramètre doit faire une taille de 9 en 2D et de 27 en 3D.
801 *
802 * \param cell La maille au centre.
803 * \param uid [OUT] Les uniqueIds des mailles autour.
804 */
805 void cellUniqueIdsAroundCell(Cell cell, ArrayView<Int64> uid) const;
806
807 /*!
808 * \brief Méthode permettant de récupérer les uniqueIds des mailles autour d'un noeud.
809 *
810 * S'il n'y a pas de maille à un endroit autour (si on est au bord du maillage par exemple),
811 * on met un uniqueId = -1.
812 *
813 * La vue passée en paramètre doit faire une taille de 8.
814 *
815 * \param node_coord La position du noeud.
816 * \param level Le niveau du noeud.
817 * \param uid [OUT] Les uniqueIds des mailles autour.
818 */
819 void cellUniqueIdsAroundNode(CartCoord3 node_coord, Int32 level, ArrayView<Int64> uid) const;
820
821 /*!
822 * \brief Méthode permettant de récupérer les uniqueIds des mailles autour d'un noeud.
823 *
824 * S'il n'y a pas de maille à un endroit autour (si on est au bord du maillage par exemple),
825 * on met un uniqueId = -1.
826 *
827 * La vue passée en paramètre doit faire une taille de 4.
828 *
829 * \param node_coord La position du noeud.
830 * \param level Le niveau du noeud.
831 * \param uid [OUT] Les uniqueIds des mailles autour.
832 */
833 void cellUniqueIdsAroundNode(CartCoord2 node_coord, Int32 level, ArrayView<Int64> uid) const;
834
835 /*!
836 * \brief Méthode permettant de récupérer les uniqueIds des mailles autour du noeud passée
837 * en paramètre.
838 *
839 * S'il n'y a pas de maille à un endroit autour (si on est au bord du maillage par exemple),
840 * on met un uniqueId = -1.
841 *
842 * La vue passée en paramètre doit faire une taille de 4 en 2D ou de 8 en 3D.
843 *
844 * \param node_uid L'uniqueId du noeud.
845 * \param level Le niveau du noeud.
846 * \param uid [OUT] Les uniqueIds des mailles autour.
847 */
848 void cellUniqueIdsAroundNode(Int64 node_uid, Int32 level, ArrayView<Int64> uid) const;
849
850 /*!
851 * \brief Méthode permettant de récupérer les uniqueIds des mailles autour du noeud passée
852 * en paramètre.
853 *
854 * S'il n'y a pas de maille à un endroit autour (si on est au bord du maillage par exemple),
855 * on met un uniqueId = -1.
856 *
857 * La vue passée en paramètre doit faire une taille de 4 en 2D ou de 8 en 3D.
858 *
859 * \param node Le noeud.
860 * \param uid [OUT] Les uniqueIds des mailles autour.
861 */
862 void cellUniqueIdsAroundNode(Node node, ArrayView<Int64> uid) const;
863
864 /*!
865 * \brief Méthode permettant de récupérer l'uniqueId du parent d'une maille.
866 *
867 * Si \a do_fatal est vrai, une erreur fatale est générée si le parent n'existe
868 * pas, sinon l'uniqueId retourné a pour valeur NULL_ITEM_UNIQUE_ID.
869 *
870 * \param uid L'uniqueId de la maille enfant.
871 * \param level Le niveau de la maille enfant.
872 * \return L'uniqueId de la maille parent de la maille passé en paramètre.
873 */
874 Int64 parentCellUniqueIdOfCell(Int64 uid, Int32 level, bool do_fatal = true) const;
875
876 /*!
877 * \brief Méthode permettant de récupérer l'uniqueId du parent d'une maille.
878 *
879 * Si \a do_fatal est vrai, une erreur fatale est générée si le parent n'existe
880 * pas, sinon l'uniqueId retourné a pour valeur NULL_ITEM_UNIQUE_ID.
881 *
882 * \param cell La maille enfant.
883 * \return L'uniqueId de la maille parent de la maille passé en paramètre.
884 */
885 Int64 parentCellUniqueIdOfCell(Cell cell, bool do_fatal = true) const;
886
887 /*!
888 * \brief Méthode permettant de récupérer l'uniqueId d'une maille enfant d'une maille parent
889 * à partir de la position de la maille enfant dans la maille parent.
890 *
891 * \param cell La maille parent.
892 * \param child_coord_in_parent La position de l'enfant dans la maille parent.
893 * \return L'uniqueId de la maille enfant demandée.
894 */
895 Int64 childCellUniqueIdOfCell(Cell cell, CartCoord3 child_coord_in_parent) const;
896
897 /*!
898 * \brief Méthode permettant de récupérer l'uniqueId d'une maille enfant d'une maille parent
899 * à partir de la position de la maille enfant dans la maille parent.
900 *
901 * \param cell La maille parent.
902 * \param child_coord_in_parent La position de l'enfant dans la maille parent.
903 * \return L'uniqueId de la maille enfant demandée.
904 */
905 Int64 childCellUniqueIdOfCell(Cell cell, CartCoord2 child_coord_in_parent) const;
906
907 /*!
908 * \brief Méthode permettant de récupérer l'uniqueId d'une maille enfant d'une maille parent
909 * à partir de l'index de la maille enfant dans la maille parent.
910 *
911 * \param cell La maille parent.
912 * \param child_index_in_parent L'index de l'enfant dans la maille parent.
913 * \return L'uniqueId de la maille enfant demandée.
914 */
915 Int64 childCellUniqueIdOfCell(Cell cell, Int32 child_index_in_parent) const;
916
917 /*!
918 * \brief Méthode permettant de récupérer une maille enfant d'une maille parent
919 * à partir de la position de la maille enfant dans la maille parent.
920 *
921 * \param cell La maille parent.
922 * \param child_coord_in_parent La position de l'enfant dans la maille parent.
923 * \return La maille enfant demandée.
924 */
925 Cell childCellOfCell(Cell cell, CartCoord3 child_coord_in_parent) const;
926
927 /*!
928 * \brief Méthode permettant de récupérer une maille enfant d'une maille parent
929 * à partir de la position de la maille enfant dans la maille parent.
930 *
931 * \param cell La maille parent.
932 * \param child_coord_in_parent La position de l'enfant dans la maille parent.
933 * \return La maille enfant demandée.
934 */
935 Cell childCellOfCell(Cell cell, CartCoord2 child_coord_in_parent) const;
936
937 /*!
938 * \brief Méthode permettant de récupérer l'uniqueId du parent d'un noeud.
939 *
940 * Si \a do_fatal est vrai, une erreur fatale est générée si le parent n'existe
941 * pas, sinon l'uniqueId retourné a pour valeur NULL_ITEM_UNIQUE_ID.
942 *
943 * \param uid L'uniqueId du noeud enfant.
944 * \param level Le niveau du noeud enfant.
945 * \return L'uniqueId du noeud parent du noeud enfant.
946 */
947 Int64 parentNodeUniqueIdOfNode(Int64 uid, Int32 level, bool do_fatal = true) const;
948
949 /*!
950 * \brief Méthode permettant de récupérer l'uniqueId du parent d'un noeud.
951 *
952 * Si \a do_fatal est vrai, une erreur fatale est générée si le parent n'existe
953 * pas, sinon l'uniqueId retourné a pour valeur NULL_ITEM_UNIQUE_ID.
954 *
955 * \param node Le noeud enfant.
956 * \return L'uniqueId du noeud parent du noeud passé en paramètre.
957 */
958 Int64 parentNodeUniqueIdOfNode(Node node, bool do_fatal = true) const;
959
960 /*!
961 * \brief Méthode permettant de récupérer l'uniqueId d'un noeud enfant d'un noeud parent.
962 *
963 * \param uid L'uniqueId du noeud enfant.
964 * \param level Le niveau du noeud enfant.
965 * \return L'uniqueId du noeud enfant demandée.
966 */
967 Int64 childNodeUniqueIdOfNode(Int64 uid, Int32 level) const;
968
969 /*!
970 * \brief Méthode permettant de récupérer l'uniqueId d'un noeud enfant d'un noeud parent.
971 *
972 * \param node Le noeud parent.
973 * \return L'uniqueId du noeud enfant demandée.
974 */
976
977 /*!
978 * \brief Méthode permettant de récupérer l'uniqueId du parent d'une face.
979 *
980 * Si \a do_fatal est vrai, une erreur fatale est générée si le parent n'existe
981 * pas, sinon l'uniqueId retourné a pour valeur NULL_ITEM_UNIQUE_ID.
982 *
983 * \param uid L'uniqueId de la face enfant.
984 * \param level Le niveau de la face enfant.
985 * \return L'uniqueId de la face parent de la face enfant.
986 */
987 Int64 parentFaceUniqueIdOfFace(Int64 uid, Int32 level, bool do_fatal = true) const;
988
989 /*!
990 * \brief Méthode permettant de récupérer l'uniqueId du parent d'une face.
991 *
992 * Si \a do_fatal est vrai, une erreur fatale est générée si le parent n'existe
993 * pas, sinon l'uniqueId retourné a pour valeur NULL_ITEM_UNIQUE_ID.
994 *
995 * \param face La face enfant.
996 * \return L'uniqueId de la face parent de la face passé en paramètre.
997 */
998 Int64 parentFaceUniqueIdOfFace(Face face, bool do_fatal = true) const;
999
1000 /*!
1001 * \brief Méthode permettant de récupérer l'uniqueId d'une face enfant d'une face parent
1002 * à partir de l'index de la face enfant dans la face parent.
1003 *
1004 * \param uid L'uniqueId de la face parent.
1005 * \param level Le niveau de la face parent.
1006 * \param child_index_in_parent L'index de l'enfant dans la face parent.
1007 * \return L'uniqueId de la face enfant demandée.
1008 */
1009 Int64 childFaceUniqueIdOfFace(Int64 uid, Int32 level, Int32 child_index_in_parent) const;
1010
1011 /*!
1012 * \brief Méthode permettant de récupérer l'uniqueId d'une face enfant d'une face parent
1013 * à partir de l'index de la face enfant dans la face parent.
1014 *
1015 * \param face La face parent.
1016 * \param child_index_in_parent L'index de l'enfant dans la face parent.
1017 * \return L'uniqueId de la face enfant demandée.
1018 */
1019 Int64 childFaceUniqueIdOfFace(Face face, Int32 child_index_in_parent) const;
1020
1021 public:
1022
1023 ICartesianMeshNumberingMngInternal* _internalApi() const;
1024
1025 private:
1026
1028};
1029
1030/*---------------------------------------------------------------------------*/
1031/*---------------------------------------------------------------------------*/
1032
1033} // End namespace Arcane
1034
1035/*---------------------------------------------------------------------------*/
1036/*---------------------------------------------------------------------------*/
1037
1038#endif //ARCANE_CARTESIANMESH_CARTESIANMESHNUMBERINGMNG_H
Vue modifiable d'un tableau d'un type T.
Int64 firstFaceUniqueId(Int32 level) const
Méthode permettant de récupérer le premier unique id utilisé par les faces d'un niveau....
Int64 parentFaceUniqueIdOfFace(Int64 uid, Int32 level, bool do_fatal=true) const
Méthode permettant de récupérer l'uniqueId du parent d'une face.
CartCoord globalNbNodesZ(Int32 level) const
Méthode permettant de récupérer le nombre de noeuds global en Z d'un niveau.
Int64 cellUniqueId(CartCoord3 cell_coord, Int32 level) const
Méthode permettant de récupérer l'uniqueId d'une maille à partir de sa position et de son niveau.
Int64 parentNodeUniqueIdOfNode(Int64 uid, Int32 level, bool do_fatal=true) const
Méthode permettant de récupérer l'uniqueId du parent d'un noeud.
Int32 nbNodeByCell() const
Méthode permettant de récupérer le nombre de noeuds dans une maille.
void cellUniqueIdsAroundCell(CartCoord3 cell_coord, Int32 level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des mailles autour d'une maille.
CartCoord cellUniqueIdToCoordX(Int64 uid, Int32 level) const
Méthode permettant de récupérer la coordonnée en X d'une maille grâce à son uniqueId.
Int64 childFaceUniqueIdOfFace(Int64 uid, Int32 level, Int32 child_index_in_parent) const
Méthode permettant de récupérer l'uniqueId d'une face enfant d'une face parent à partir de l'index de...
CartCoord nodeUniqueIdToCoordZ(Int64 uid, Int32 level) const
Méthode permettant de récupérer la coordonnée en Z d'un noeud grâce à son uniqueId.
Int64 nbNodeInLevel(Int32 level) const
Méthode permettant de récupérer le nombre de noeuds total dans un niveau.
CartCoord globalNbFacesXCartesianView(Int32 level) const
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les faces.
Int32 pattern() const
Méthode permettant de récupérer le pattern de raffinement utilisé dans chaque maille....
Cell childCellOfCell(Cell cell, CartCoord3 child_coord_in_parent) const
Méthode permettant de récupérer une maille enfant d'une maille parent à partir de la position de la m...
Int64 firstCellUniqueId(Int32 level) const
Méthode permettant de récupérer le premier unique id utilisé par les mailles d'un niveau....
CartCoord globalNbFacesY(Int32 level) const
Méthode permettant de récupérer le nombre de faces global en Y d'un niveau.
CartCoord globalNbCellsX(Int32 level) const
Méthode permettant de récupérer le nombre de mailles global en X d'un niveau.
CartCoord globalNbFacesZCartesianView(Int32 level) const
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les faces.
CartCoord globalNbNodesY(Int32 level) const
Méthode permettant de récupérer le nombre de noeuds global en Y d'un niveau.
Int64 childNodeUniqueIdOfNode(Int64 uid, Int32 level) const
Méthode permettant de récupérer l'uniqueId d'un noeud enfant d'un noeud parent.
Int64 parentCellUniqueIdOfCell(Int64 uid, Int32 level, bool do_fatal=true) const
Méthode permettant de récupérer l'uniqueId du parent d'une maille.
Int64 nodeUniqueId(CartCoord3 node_coord, Int32 level) const
Méthode permettant de récupérer l'uniqueId d'un noeud à partir de sa position et de son niveau.
CartCoord nodeUniqueIdToCoordX(Int64 uid, Int32 level) const
Méthode permettant de récupérer la coordonnée en X d'un noeud grâce à son uniqueId.
void printStatus() const
Méthode permettant de décrire l'état de l'objet.
Int64 childCellUniqueIdOfCell(Cell cell, CartCoord3 child_coord_in_parent) const
Méthode permettant de récupérer l'uniqueId d'une maille enfant d'une maille parent à partir de la pos...
Int64 firstNodeUniqueId(Int32 level) const
Méthode permettant de récupérer le premier unique id utilisé par les noeuds d'un niveau....
CartCoord faceUniqueIdToCoordX(Int64 uid, Int32 level) const
Méthode permettant de récupérer la coordonnée en X d'une face grâce à son uniqueId.
void cellFaceUniqueIds(CartCoord3 cell_coord, Int32 level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des faces d'une maille à partir de ses coordonnées.
void cellNodeUniqueIds(CartCoord3 cell_coord, Int32 level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des noeuds d'une maille à partir de ses coordonnées.
CartCoord globalNbFacesYCartesianView(Int32 level) const
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les faces.
CartCoord globalNbFacesX(Int32 level) const
Méthode permettant de récupérer le nombre de faces global en X d'un niveau.
CartCoord globalNbCellsZ(Int32 level) const
Méthode permettant de récupérer le nombre de mailles global en Z d'un niveau.
Int64 faceUniqueId(CartCoord3 face_coord, Int32 level) const
Méthode permettant de récupérer l'uniqueId d'une face à partir de sa position et de son niveau.
CartCoord faceUniqueIdToCoordZ(Int64 uid, Int32 level) const
Méthode permettant de récupérer la coordonnée en Z d'une face grâce à son uniqueId.
CartCoord3 cellUniqueIdToCoord(Int64 uid, Int32 level) const
Méthode permettant de récupérer les coordonnées d'une maille grâce à son uniqueId.
CartCoord faceOffsetLevelToLevel(CartCoord coord, Int32 level_from, Int32 level_to) const
Méthode permettant d'obtenir la position de la première face enfant à partir de la position de la fac...
CartCoord offsetLevelToLevel(CartCoord coord, Int32 level_from, Int32 level_to) const
Méthode permettant d'obtenir la position du premier noeud/maille fille à partir de la position du noe...
CartCoord nodeUniqueIdToCoordY(Int64 uid, Int32 level) const
Méthode permettant de récupérer la coordonnée en Y d'un noeud grâce à son uniqueId.
Int32 nodeLevel(Int64 uid) const
Méthode permettant de récupérer le niveau d'un noeud avec son uid.
void cellUniqueIdsAroundNode(CartCoord3 node_coord, Int32 level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des mailles autour d'un noeud.
Int64 nbFaceInLevel(Int32 level) const
Méthode permettant de récupérer le nombre de faces total dans un niveau.
CartCoord globalNbFacesZ(Int32 level) const
Méthode permettant de récupérer le nombre de faces global en Z d'un niveau.
CartCoord globalNbNodesX(Int32 level) const
Méthode permettant de récupérer le nombre de noeuds global en X d'un niveau.
CartCoord cellUniqueIdToCoordZ(Int64 uid, Int32 level) const
Méthode permettant de récupérer la coordonnée en Z d'une maille grâce à son uniqueId.
Int32 cellLevel(Int64 uid) const
Méthode permettant de récupérer le niveau d'une maille avec son uid.
Int64 nbCellInLevel(Int32 level) const
Méthode permettant de récupérer le nombre de mailles total dans un niveau.
CartCoord cellUniqueIdToCoordY(Int64 uid, Int32 level) const
Méthode permettant de récupérer la coordonnée en Y d'une maille grâce à son uniqueId.
CartCoord faceUniqueIdToCoordY(Int64 uid, Int32 level) const
Méthode permettant de récupérer la coordonnée en Y d'une face grâce à son uniqueId.
Int32 faceLevel(Int64 uid) const
Méthode permettant de récupérer le niveau d'une face avec son uid.
CartCoord globalNbCellsY(Int32 level) const
Méthode permettant de récupérer le nombre de mailles global en Y d'un niveau.
Int32 nbFaceByCell() const
Méthode permettant de récupérer le nombre de faces dans une maille.
Maille d'un maillage.
Definition Item.h:1214
Face d'une maille.
Definition Item.h:964
Interface d'un maillage cartésien.
Noeud d'un maillage.
Definition Item.h:582
Référence à une instance.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 CartCoord
Représente une coordonnée d'un élément dans la grille cartésienne (en X ou en Y ou en Z).
std::int64_t Int64
Type entier signé sur 64 bits.
Int32x2 CartCoord2
Représente les coordonnées 2D d'un élément dans la grille cartésienne {x, y}.
std::int32_t Int32
Type entier signé sur 32 bits.
Int32x3 CartCoord3
Représente les coordonnées 3D d'un élément dans la grille cartésienne {x, y, z}.