Arcane  v4.1.2.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(Int32 level) const;
71
80 Int64 firstNodeUniqueId(Int32 level) const;
81
90 Int64 firstFaceUniqueId(Int32 level) const;
91
98 CartCoordType globalNbCellsX(Int32 level) const;
99
106 CartCoordType globalNbCellsY(Int32 level) const;
107
114 CartCoordType globalNbCellsZ(Int32 level) const;
115
122 CartCoordType globalNbNodesX(Int32 level) const;
123
130 CartCoordType globalNbNodesY(Int32 level) const;
131
138 CartCoordType globalNbNodesZ(Int32 level) const;
139
158 CartCoordType globalNbFacesX(Int32 level) const;
159
178 CartCoordType globalNbFacesY(Int32 level) const;
179
197 CartCoordType globalNbFacesZ(Int32 level) const;
198
247 CartCoordType globalNbFacesXCartesianView(Int32 level) const;
248
258 CartCoordType globalNbFacesYCartesianView(Int32 level) const;
259
269 CartCoordType globalNbFacesZCartesianView(Int32 level) const;
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 CartCoordType offsetLevelToLevel(CartCoordType coord, Int32 level_from, Int32 level_to) const;
341
354 CartCoordType faceOffsetLevelToLevel(CartCoordType coord, Int32 level_from, Int32 level_to) const;
355
363 CartCoordType cellUniqueIdToCoordX(Int64 uid, Int32 level) const;
364
371 CartCoordType cellUniqueIdToCoordX(Cell cell) const;
372
380 CartCoordType cellUniqueIdToCoordY(Int64 uid, Int32 level) const;
381
388 CartCoordType cellUniqueIdToCoordY(Cell cell) const;
389
397 CartCoordType cellUniqueIdToCoordZ(Int64 uid, Int32 level) const;
398
405 CartCoordType cellUniqueIdToCoordZ(Cell cell) const;
406
414 CartCoordType nodeUniqueIdToCoordX(Int64 uid, Int32 level) const;
415
422 CartCoordType nodeUniqueIdToCoordX(Node node) const;
423
431 CartCoordType nodeUniqueIdToCoordY(Int64 uid, Int32 level) const;
432
439 CartCoordType nodeUniqueIdToCoordY(Node node) const;
440
448 CartCoordType nodeUniqueIdToCoordZ(Int64 uid, Int32 level) const;
449
456 CartCoordType nodeUniqueIdToCoordZ(Node node) const;
457
468 CartCoordType faceUniqueIdToCoordX(Int64 uid, Int32 level) const;
469
479 CartCoordType faceUniqueIdToCoordX(Face face) const;
480
491 CartCoordType faceUniqueIdToCoordY(Int64 uid, Int32 level) const;
492
502 CartCoordType faceUniqueIdToCoordY(Face face) const;
503
514 CartCoordType faceUniqueIdToCoordZ(Int64 uid, Int32 level) const;
515
525 CartCoordType faceUniqueIdToCoordZ(Face face) const;
526
534 Int64 cellUniqueId(CartCoord3Type cell_coord, Int32 level) const;
535
543 Int64 cellUniqueId(CartCoord2Type cell_coord, Int32 level) const;
544
552 Int64 nodeUniqueId(CartCoord3Type node_coord, Int32 level) const;
553
561 Int64 nodeUniqueId(CartCoord2Type node_coord, Int32 level) const;
562
573 Int64 faceUniqueId(CartCoord3Type face_coord, Int32 level) const;
574
585 Int64 faceUniqueId(CartCoord2Type face_coord, Int32 level) const;
586
592 Int32 nbNodeByCell() const;
593
609 void cellNodeUniqueIds(CartCoord3Type cell_coord, Int32 level, ArrayView<Int64> uid) const;
610
626 void cellNodeUniqueIds(CartCoord2Type 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(CartCoord3Type cell_coord, Int32 level, ArrayView<Int64> uid) const;
683
699 void cellFaceUniqueIds(CartCoord2Type 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(CartCoord3Type cell_coord, Int32 level, ArrayView<Int64> uid) const;
746
759 void cellUniqueIdsAroundCell(CartCoord2Type 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(CartCoord3Type node_coord, Int32 level, ArrayView<Int64> uid) const;
803
816 void cellUniqueIdsAroundNode(CartCoord2Type 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, CartCoord3Type child_coord_in_parent) const;
879
888 Int64 childCellUniqueIdOfCell(Cell cell, CartCoord2Type child_coord_in_parent) const;
889
898 Int64 childCellUniqueIdOfCell(Cell cell, Int32 child_index_in_parent) const;
899
908 Cell childCellOfCell(Cell cell, CartCoord3Type child_coord_in_parent) const;
909
918 Cell childCellOfCell(Cell cell, CartCoord2Type 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.
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.
CartCoordType globalNbFacesX(Int32 level) const
Méthode permettant de récupérer le nombre de faces global en X d'un niveau.
Int32 nbNodeByCell() const
Méthode permettant de récupérer le nombre de noeuds dans une maille.
CartCoordType 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.
CartCoordType globalNbNodesX(Int32 level) const
Méthode permettant de récupérer le nombre de noeuds global en X d'un niveau.
Int64 childCellUniqueIdOfCell(Cell cell, CartCoord3Type 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 nodeUniqueId(CartCoord3Type 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.
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...
Int64 nbNodeInLevel(Int32 level) const
Méthode permettant de récupérer le nombre de noeuds total dans un niveau.
CartCoordType globalNbNodesZ(Int32 level) const
Méthode permettant de récupérer le nombre de noeuds global en Z d'un niveau.
CartCoordType globalNbCellsY(Int32 level) const
Méthode permettant de récupérer le nombre de mailles global en Y d'un niveau.
Int32 pattern() const
Méthode permettant de récupérer le pattern de raffinement utilisé dans chaque maille....
Int64 firstCellUniqueId(Int32 level) const
Méthode permettant de récupérer le premier unique id utilisé par les mailles d'un niveau....
CartCoordType 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 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.
CartCoordType 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.
CartCoordType globalNbNodesY(Int32 level) const
Méthode permettant de récupérer le nombre de noeuds global en Y d'un niveau.
void printStatus() const
Méthode permettant de décrire l'état de l'objet.
CartCoordType globalNbFacesXCartesianView(Int32 level) const
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les faces.
CartCoordType offsetLevelToLevel(CartCoordType 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...
void cellUniqueIdsAroundCell(CartCoord3Type cell_coord, Int32 level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des mailles autour d'une maille.
Int64 firstNodeUniqueId(Int32 level) const
Méthode permettant de récupérer le premier unique id utilisé par les noeuds d'un niveau....
Int64 faceUniqueId(CartCoord3Type 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.
CartCoordType 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.
void cellUniqueIdsAroundNode(CartCoord3Type node_coord, Int32 level, ArrayView< Int64 > uid) const
Méthode permettant de récupérer les uniqueIds des mailles autour d'un noeud.
CartCoordType 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.
CartCoordType globalNbFacesYCartesianView(Int32 level) const
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les faces.
void cellNodeUniqueIds(CartCoord3Type 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.
CartCoordType globalNbCellsX(Int32 level) const
Méthode permettant de récupérer le nombre de mailles global en X d'un niveau.
void cellFaceUniqueIds(CartCoord3Type 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.
CartCoordType 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.
CartCoordType 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.
Int32 nodeLevel(Int64 uid) const
Méthode permettant de récupérer le niveau d'un noeud avec son uid.
CartCoordType globalNbCellsZ(Int32 level) const
Méthode permettant de récupérer le nombre de mailles global en Z d'un niveau.
Int64 cellUniqueId(CartCoord3Type 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.
CartCoordType globalNbFacesZCartesianView(Int32 level) const
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les faces.
CartCoordType globalNbFacesY(Int32 level) const
Méthode permettant de récupérer le nombre de faces global en Y d'un niveau.
CartCoordType faceOffsetLevelToLevel(CartCoordType 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...
Int64 nbFaceInLevel(Int32 level) const
Méthode permettant de récupérer le nombre de faces total dans un niveau.
CartCoordType 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.
CartCoordType 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.
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.
Cell childCellOfCell(Cell cell, CartCoord3Type 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...
CartCoordType globalNbFacesZ(Int32 level) const
Méthode permettant de récupérer le nombre de faces global en Z d'un niveau.
Int32 faceLevel(Int64 uid) const
Méthode permettant de récupérer le niveau d'une face avec son uid.
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 -*-
std::int64_t Int64
Type entier signé sur 64 bits.
std::int32_t Int32
Type entier signé sur 32 bits.