Arcane  v4.1.4.0
Documentation développeur
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
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
49class ARCANE_CARTESIANMESH_EXPORT CartesianMeshNumberingMng
50{
51 public:
52
53 explicit CartesianMeshNumberingMng(ICartesianMesh* mesh);
54
55 public:
56
60 void printStatus() const;
61
70 Int64 firstCellUniqueId(Int32 level) const;
71
80 Int64 firstNodeUniqueId(Int32 level) const;
81
90 Int64 firstFaceUniqueId(Int32 level) const;
91
98 CartCoord globalNbCellsX(Int32 level) const;
99
106 CartCoord globalNbCellsY(Int32 level) const;
107
114 CartCoord globalNbCellsZ(Int32 level) const;
115
122 CartCoord globalNbNodesX(Int32 level) const;
123
130 CartCoord globalNbNodesY(Int32 level) const;
131
138 CartCoord globalNbNodesZ(Int32 level) const;
139
158 CartCoord globalNbFacesX(Int32 level) const;
159
178 CartCoord globalNbFacesY(Int32 level) const;
179
197 CartCoord globalNbFacesZ(Int32 level) const;
198
248
259
270
277 Int64 nbCellInLevel(Int32 level) const;
278
285 Int64 nbNodeInLevel(Int32 level) const;
286
293 Int64 nbFaceInLevel(Int32 level) const;
294
301 Int32 pattern() const;
302
309 Int32 cellLevel(Int64 uid) const;
310
317 Int32 nodeLevel(Int64 uid) const;
318
325 Int32 faceLevel(Int64 uid) const;
326
340 CartCoord offsetLevelToLevel(CartCoord coord, Int32 level_from, Int32 level_to) const;
341
354 CartCoord faceOffsetLevelToLevel(CartCoord coord, Int32 level_from, Int32 level_to) const;
355
363 CartCoord cellUniqueIdToCoordX(Int64 uid, Int32 level) const;
364
372
380 CartCoord cellUniqueIdToCoordY(Int64 uid, Int32 level) const;
381
389
397 CartCoord cellUniqueIdToCoordZ(Int64 uid, Int32 level) const;
398
406
414 CartCoord nodeUniqueIdToCoordX(Int64 uid, Int32 level) const;
415
423
431 CartCoord nodeUniqueIdToCoordY(Int64 uid, Int32 level) const;
432
440
448 CartCoord nodeUniqueIdToCoordZ(Int64 uid, Int32 level) const;
449
457
468 CartCoord faceUniqueIdToCoordX(Int64 uid, Int32 level) const;
469
480
491 CartCoord faceUniqueIdToCoordY(Int64 uid, Int32 level) const;
492
503
514 CartCoord faceUniqueIdToCoordZ(Int64 uid, Int32 level) const;
515
526
534 Int64 cellUniqueId(CartCoord3 cell_coord, Int32 level) const;
535
543 Int64 cellUniqueId(CartCoord2 cell_coord, Int32 level) const;
544
552 Int64 nodeUniqueId(CartCoord3 node_coord, Int32 level) const;
553
561 Int64 nodeUniqueId(CartCoord2 node_coord, Int32 level) const;
562
573 Int64 faceUniqueId(CartCoord3 face_coord, Int32 level) const;
574
585 Int64 faceUniqueId(CartCoord2 face_coord, Int32 level) const;
586
592 Int32 nbNodeByCell() const;
593
609 void cellNodeUniqueIds(CartCoord3 cell_coord, Int32 level, ArrayView<Int64> uid) const;
610
626 void cellNodeUniqueIds(CartCoord2 cell_coord, Int32 level, ArrayView<Int64> uid) const;
627
643 void cellNodeUniqueIds(Int64 cell_uid, Int32 level, ArrayView<Int64> uid) const;
644
658 void cellNodeUniqueIds(Cell cell, ArrayView<Int64> uid) const;
659
665 Int32 nbFaceByCell() const;
666
682 void cellFaceUniqueIds(CartCoord3 cell_coord, Int32 level, ArrayView<Int64> uid) const;
683
699 void cellFaceUniqueIds(CartCoord2 cell_coord, Int32 level, ArrayView<Int64> uid) const;
700
716 void cellFaceUniqueIds(Int64 cell_uid, Int32 level, ArrayView<Int64> uid) const;
717
731 void cellFaceUniqueIds(Cell cell, ArrayView<Int64> uid) const;
732
745 void cellUniqueIdsAroundCell(CartCoord3 cell_coord, Int32 level, ArrayView<Int64> uid) const;
746
759 void cellUniqueIdsAroundCell(CartCoord2 cell_coord, Int32 level, ArrayView<Int64> uid) const;
760
774 void cellUniqueIdsAroundCell(Int64 cell_uid, Int32 level, ArrayView<Int64> uid) const;
775
788 void cellUniqueIdsAroundCell(Cell cell, ArrayView<Int64> uid) const;
789
802 void cellUniqueIdsAroundNode(CartCoord3 node_coord, Int32 level, ArrayView<Int64> uid) const;
803
816 void cellUniqueIdsAroundNode(CartCoord2 node_coord, Int32 level, ArrayView<Int64> uid) const;
817
831 void cellUniqueIdsAroundNode(Int64 node_uid, Int32 level, ArrayView<Int64> uid) const;
832
845 void cellUniqueIdsAroundNode(Node node, ArrayView<Int64> uid) const;
846
857 Int64 parentCellUniqueIdOfCell(Int64 uid, Int32 level, bool do_fatal = true) const;
858
868 Int64 parentCellUniqueIdOfCell(Cell cell, bool do_fatal = true) const;
869
878 Int64 childCellUniqueIdOfCell(Cell cell, CartCoord3 child_coord_in_parent) const;
879
888 Int64 childCellUniqueIdOfCell(Cell cell, CartCoord2 child_coord_in_parent) const;
889
898 Int64 childCellUniqueIdOfCell(Cell cell, Int32 child_index_in_parent) const;
899
908 Cell childCellOfCell(Cell cell, CartCoord3 child_coord_in_parent) const;
909
918 Cell childCellOfCell(Cell cell, CartCoord2 child_coord_in_parent) const;
919
930 Int64 parentNodeUniqueIdOfNode(Int64 uid, Int32 level, bool do_fatal = true) const;
931
941 Int64 parentNodeUniqueIdOfNode(Node node, bool do_fatal = true) const;
942
950 Int64 childNodeUniqueIdOfNode(Int64 uid, Int32 level) const;
951
959
970 Int64 parentFaceUniqueIdOfFace(Int64 uid, Int32 level, bool do_fatal = true) const;
971
981 Int64 parentFaceUniqueIdOfFace(Face face, bool do_fatal = true) const;
982
992 Int64 childFaceUniqueIdOfFace(Int64 uid, Int32 level, Int32 child_index_in_parent) const;
993
1002 Int64 childFaceUniqueIdOfFace(Face face, Int32 child_index_in_parent) const;
1003
1004 public:
1005
1006 ICartesianMeshNumberingMngInternal* _internalApi() const;
1007
1008 private:
1009
1011};
1012
1013/*---------------------------------------------------------------------------*/
1014/*---------------------------------------------------------------------------*/
1015
1016} // End namespace Arcane
1017
1018/*---------------------------------------------------------------------------*/
1019/*---------------------------------------------------------------------------*/
1020
1021#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.
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 de gestionnaire de numérotation pour maillage cartesian.
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}.