Arcane  v4.1.1.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-2025 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-2025 */
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(Integer level) const;
71
80 Int64 firstNodeUniqueId(Integer level) const;
81
90 Int64 firstFaceUniqueId(Integer level) const;
91
98 Int64 globalNbCellsX(Integer level) const;
99
106 Int64 globalNbCellsY(Integer level) const;
107
114 Int64 globalNbCellsZ(Integer level) const;
115
122 Int64 globalNbNodesX(Integer level) const;
123
130 Int64 globalNbNodesY(Integer level) const;
131
138 Int64 globalNbNodesZ(Integer level) const;
139
158 Int64 globalNbFacesX(Integer level) const;
159
178 Int64 globalNbFacesY(Integer level) const;
179
197 Int64 globalNbFacesZ(Integer level) const;
198
248
259
270
277 Int64 nbCellInLevel(Integer level) const;
278
285 Int64 nbNodeInLevel(Integer level) const;
286
293 Int64 nbFaceInLevel(Integer level) const;
294
301 Integer 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 Int64 offsetLevelToLevel(Int64 coord, Integer level_from, Integer level_to) const;
341
354 Int64 faceOffsetLevelToLevel(Int64 coord, Integer level_from, Integer level_to) const;
355
363 Int64 cellUniqueIdToCoordX(Int64 uid, Integer level) const;
364
371 Int64 cellUniqueIdToCoordX(Cell cell) const;
372
380 Int64 cellUniqueIdToCoordY(Int64 uid, Integer level) const;
381
388 Int64 cellUniqueIdToCoordY(Cell cell) const;
389
397 Int64 cellUniqueIdToCoordZ(Int64 uid, Integer level) const;
398
405 Int64 cellUniqueIdToCoordZ(Cell cell) const;
406
414 Int64 nodeUniqueIdToCoordX(Int64 uid, Integer level) const;
415
422 Int64 nodeUniqueIdToCoordX(Node node) const;
423
431 Int64 nodeUniqueIdToCoordY(Int64 uid, Integer level) const;
432
439 Int64 nodeUniqueIdToCoordY(Node node) const;
440
448 Int64 nodeUniqueIdToCoordZ(Int64 uid, Integer level) const;
449
456 Int64 nodeUniqueIdToCoordZ(Node node) const;
457
468 Int64 faceUniqueIdToCoordX(Int64 uid, Integer level) const;
469
479 Int64 faceUniqueIdToCoordX(Face face) const;
480
491 Int64 faceUniqueIdToCoordY(Int64 uid, Integer level) const;
492
502 Int64 faceUniqueIdToCoordY(Face face) const;
503
514 Int64 faceUniqueIdToCoordZ(Int64 uid, Integer level) const;
515
525 Int64 faceUniqueIdToCoordZ(Face face) const;
526
534 Int64 cellUniqueId(Int64x3 cell_coord, Integer level) const;
535
543 Int64 cellUniqueId(Int64x2 cell_coord, Integer level) const;
544
552 Int64 nodeUniqueId(Int64x3 node_coord, Integer level) const;
553
561 Int64 nodeUniqueId(Int64x2 node_coord, Integer level) const;
562
573 Int64 faceUniqueId(Int64x3 face_coord, Integer level) const;
574
585 Int64 faceUniqueId(Int64x2 face_coord, Integer level) const;
586
592 Integer nbNodeByCell() const;
593
609 void cellNodeUniqueIds(Int64x3 cell_coord, Integer level, ArrayView<Int64> uid) const;
610
626 void cellNodeUniqueIds(Int64x2 cell_coord, Integer level, ArrayView<Int64> uid) const;
627
643 void cellNodeUniqueIds(Int64 cell_uid, Integer level, ArrayView<Int64> uid) const;
644
658 void cellNodeUniqueIds(Cell cell, ArrayView<Int64> uid) const;
659
665 Integer nbFaceByCell() const;
666
682 void cellFaceUniqueIds(Int64x3 cell_coord, Integer level, ArrayView<Int64> uid) const;
683
699 void cellFaceUniqueIds(Int64x2 cell_coord, Integer level, ArrayView<Int64> uid) const;
700
716 void cellFaceUniqueIds(Int64 cell_uid, Integer level, ArrayView<Int64> uid) const;
717
731 void cellFaceUniqueIds(Cell cell, ArrayView<Int64> uid) const;
732
745 void cellUniqueIdsAroundCell(Int64x3 cell_coord, Int32 level, ArrayView<Int64> uid) const;
746
759 void cellUniqueIdsAroundCell(Int64x2 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(Int64x3 node_coord, Int32 level, ArrayView<Int64> uid) const;
803
816 void cellUniqueIdsAroundNode(Int64x2 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, Integer level, bool do_fatal = true) const;
858
868 Int64 parentCellUniqueIdOfCell(Cell cell, bool do_fatal = true) const;
869
878 Int64 childCellUniqueIdOfCell(Cell cell, Int64x3 child_coord_in_parent) const;
879
888 Int64 childCellUniqueIdOfCell(Cell cell, Int64x2 child_coord_in_parent) const;
889
898 Int64 childCellUniqueIdOfCell(Cell cell, Int64 child_index_in_parent) const;
899
908 Cell childCellOfCell(Cell cell, Int64x3 child_coord_in_parent) const;
909
918 Cell childCellOfCell(Cell cell, Int64x2 child_coord_in_parent) const;
919
930 Int64 parentNodeUniqueIdOfNode(Int64 uid, Integer level, bool do_fatal = true) const;
931
941 Int64 parentNodeUniqueIdOfNode(Node node, bool do_fatal = true) const;
942
950 Int64 childNodeUniqueIdOfNode(Int64 uid, Integer level) const;
951
959
970 Int64 parentFaceUniqueIdOfFace(Int64 uid, Integer level, bool do_fatal = true) const;
971
981 Int64 parentFaceUniqueIdOfFace(Face face, bool do_fatal = true) const;
982
992 Int64 childFaceUniqueIdOfFace(Int64 uid, Integer level, Int64 child_index_in_parent) const;
993
1002 Int64 childFaceUniqueIdOfFace(Face face, Int64 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 globalNbCellsX(Integer level) const
Méthode permettant de récupérer le nombre de mailles global en X d'un niveau.
Int64 nbFaceInLevel(Integer level) const
Méthode permettant de récupérer le nombre de faces total dans un niveau.
Int64 childNodeUniqueIdOfNode(Int64 uid, Integer level) const
Méthode permettant de récupérer l'uniqueId d'un noeud enfant d'un noeud parent.
Integer nbNodeByCell() const
Méthode permettant de récupérer le nombre de noeuds dans une maille.
void cellNodeUniqueIds(Int64x3 cell_coord, Integer level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des noeuds d'une maille à partir de ses coordonnées.
Int64 parentNodeUniqueIdOfNode(Int64 uid, Integer level, bool do_fatal=true) const
Méthode permettant de récupérer l'uniqueId du parent d'un noeud.
Int64 globalNbNodesZ(Integer level) const
Méthode permettant de récupérer le nombre de noeuds global en Z d'un niveau.
Int64 faceOffsetLevelToLevel(Int64 coord, Integer level_from, Integer level_to) const
Méthode permettant d'obtenir la position de la première face enfant à partir de la position de la fac...
void cellUniqueIdsAroundNode(Int64x3 node_coord, Int32 level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des mailles autour d'un noeud.
Int64 childCellUniqueIdOfCell(Cell cell, Int64x3 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 cellUniqueIdToCoordZ(Int64 uid, Integer level) const
Méthode permettant de récupérer la coordonnée en Z d'une maille grâce à son uniqueId.
void cellUniqueIdsAroundCell(Int64x3 cell_coord, Int32 level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des mailles autour d'une maille.
Integer pattern() const
Méthode permettant de récupérer le pattern de raffinement utilisé dans chaque maille....
Int64 globalNbNodesX(Integer level) const
Méthode permettant de récupérer le nombre de noeuds global en X d'un niveau.
Int64 globalNbCellsZ(Integer level) const
Méthode permettant de récupérer le nombre de mailles global en Z d'un niveau.
Int64 nbCellInLevel(Integer level) const
Méthode permettant de récupérer le nombre de mailles total dans un niveau.
void printStatus() const
Méthode permettant de décrire l'état de l'objet.
Int64 globalNbCellsY(Integer level) const
Méthode permettant de récupérer le nombre de mailles global en Y d'un niveau.
Int64 firstFaceUniqueId(Integer level) const
Méthode permettant de récupérer le premier unique id utilisé par les faces d'un niveau....
Int64 faceUniqueIdToCoordY(Int64 uid, Integer level) const
Méthode permettant de récupérer la coordonnée en Y d'une face grâce à son uniqueId.
Int64 globalNbFacesX(Integer level) const
Méthode permettant de récupérer le nombre de faces global en X d'un niveau.
Int64 nodeUniqueId(Int64x3 node_coord, Integer level) const
Méthode permettant de récupérer l'uniqueId d'un noeud à partir de sa position et de son niveau.
Int64 globalNbFacesZ(Integer level) const
Méthode permettant de récupérer le nombre de faces global en Z d'un niveau.
Int64 faceUniqueIdToCoordZ(Int64 uid, Integer level) const
Méthode permettant de récupérer la coordonnée en Z d'une face grâce à son uniqueId.
Int64 globalNbFacesYCartesianView(Integer level) const
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les faces.
Int64 globalNbFacesZCartesianView(Integer level) const
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les faces.
Int64 globalNbNodesY(Integer level) const
Méthode permettant de récupérer le nombre de noeuds global en Y d'un niveau.
Int64 globalNbFacesY(Integer level) const
Méthode permettant de récupérer le nombre de faces global en Y d'un niveau.
Int64 cellUniqueId(Int64x3 cell_coord, Integer level) const
Méthode permettant de récupérer l'uniqueId d'une maille à partir de sa position et de son niveau.
Int64 firstNodeUniqueId(Integer level) const
Méthode permettant de récupérer le premier unique id utilisé par les noeuds d'un niveau....
Cell childCellOfCell(Cell cell, Int64x3 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 faceUniqueId(Int64x3 face_coord, Integer level) const
Méthode permettant de récupérer l'uniqueId d'une face à partir de sa position et de son niveau.
Int64 cellUniqueIdToCoordY(Int64 uid, Integer level) const
Méthode permettant de récupérer la coordonnée en Y d'une maille grâce à son uniqueId.
Int32 nodeLevel(Int64 uid) const
Méthode permettant de récupérer le niveau d'un noeud avec son uid.
Int64 globalNbFacesXCartesianView(Integer level) const
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les faces.
Int64 parentCellUniqueIdOfCell(Int64 uid, Integer level, bool do_fatal=true) const
Méthode permettant de récupérer l'uniqueId du parent d'une maille.
Int64 cellUniqueIdToCoordX(Int64 uid, Integer level) const
Méthode permettant de récupérer la coordonnée en X d'une maille grâce à son uniqueId.
Int64 nodeUniqueIdToCoordZ(Int64 uid, Integer level) const
Méthode permettant de récupérer la coordonnée en Z d'un noeud 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 faceUniqueIdToCoordX(Int64 uid, Integer level) const
Méthode permettant de récupérer la coordonnée en X d'une face grâce à son uniqueId.
Int64 nodeUniqueIdToCoordX(Int64 uid, Integer level) const
Méthode permettant de récupérer la coordonnée en X d'un noeud grâce à son uniqueId.
Int64 firstCellUniqueId(Integer level) const
Méthode permettant de récupérer le premier unique id utilisé par les mailles d'un niveau....
Int64 nbNodeInLevel(Integer level) const
Méthode permettant de récupérer le nombre de noeuds total dans un niveau.
Int32 faceLevel(Int64 uid) const
Méthode permettant de récupérer le niveau d'une face avec son uid.
Int64 parentFaceUniqueIdOfFace(Int64 uid, Integer level, bool do_fatal=true) const
Méthode permettant de récupérer l'uniqueId du parent d'une face.
Int64 offsetLevelToLevel(Int64 coord, Integer level_from, Integer level_to) const
Méthode permettant d'obtenir la position du premier noeud/maille fille à partir de la position du noe...
Integer nbFaceByCell() const
Méthode permettant de récupérer le nombre de faces dans une maille.
Int64 nodeUniqueIdToCoordY(Int64 uid, Integer level) const
Méthode permettant de récupérer la coordonnée en Y d'un noeud grâce à son uniqueId.
Int64 childFaceUniqueIdOfFace(Int64 uid, Integer level, Int64 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...
void cellFaceUniqueIds(Int64x3 cell_coord, Integer level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des faces d'une maille à partir de ses coordonnées.
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 -*-
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.