Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ICartesianMeshNumberingMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* ICartesianMeshNumberingMng.h (C) 2000-2024 */
9/* */
10/* Interface de gestionnaire de numérotation pour maillage cartesian. */
11/* Dans ces gestionnaires, on considère que l'on a un intervalle des */
12/* uniqueids attribué à chaque niveau du maillage. */
13/*---------------------------------------------------------------------------*/
14/*---------------------------------------------------------------------------*/
15
16#ifndef ARCANE_CARTESIANMESH_ICARTESIANMESHNUMBERINGMNG_H
17#define ARCANE_CARTESIANMESH_ICARTESIANMESHNUMBERINGMNG_H
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
23#include "arcane/utils/Vector2.h"
24#include "arcane/utils/Vector3.h"
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29namespace Arcane
30{
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35class ARCANE_CARTESIANMESH_EXPORT ICartesianMeshNumberingMng
36{
37 public:
39
40 public:
41
55 virtual void prepareLevel(Int32 level) =0;
56
64 virtual void updateFirstLevel() = 0;
65
74 virtual Int64 firstCellUniqueId(Integer level) = 0;
75
84 virtual Int64 firstNodeUniqueId(Integer level) = 0;
85
94 virtual Int64 firstFaceUniqueId(Integer level) = 0;
95
102 virtual Int64 globalNbCellsX(Integer level) const = 0;
103
110 virtual Int64 globalNbCellsY(Integer level) const = 0;
111
118 virtual Int64 globalNbCellsZ(Integer level) const = 0;
119
126 virtual Int64 globalNbNodesX(Integer level) const = 0;
127
134 virtual Int64 globalNbNodesY(Integer level) const = 0;
135
142 virtual Int64 globalNbNodesZ(Integer level) const = 0;
143
162 virtual Int64 globalNbFacesX(Integer level) const = 0;
163
182 virtual Int64 globalNbFacesY(Integer level) const = 0;
183
201 virtual Int64 globalNbFacesZ(Integer level) const = 0;
202
240 virtual Int64 globalNbFacesXCartesianView(Integer level) const = 0;
241
251 virtual Int64 globalNbFacesYCartesianView(Integer level) const = 0;
252
262 virtual Int64 globalNbFacesZCartesianView(Integer level) const = 0;
263
270 virtual Int64 nbCellInLevel(Integer level) const = 0;
271
278 virtual Int64 nbNodeInLevel(Integer level) const = 0;
279
286 virtual Int64 nbFaceInLevel(Integer level) const = 0;
287
294 virtual Integer pattern() const = 0;
295
302 virtual Int32 cellLevel(Int64 uid) const = 0;
303
310 virtual Int32 nodeLevel(Int64 uid) const = 0;
311
318 virtual Int32 faceLevel(Int64 uid) const = 0;
319
333 virtual Int64 offsetLevelToLevel(Int64 coord, Integer level_from, Integer level_to) const = 0;
334
347 virtual Int64 faceOffsetLevelToLevel(Int64 coord, Integer level_from, Integer level_to) const = 0;
348
356 virtual Int64 cellUniqueIdToCoordX(Int64 uid, Integer level) = 0;
357
364 virtual Int64 cellUniqueIdToCoordX(Cell cell) = 0;
365
373 virtual Int64 cellUniqueIdToCoordY(Int64 uid, Integer level) = 0;
374
381 virtual Int64 cellUniqueIdToCoordY(Cell cell) = 0;
382
390 virtual Int64 cellUniqueIdToCoordZ(Int64 uid, Integer level) = 0;
391
398 virtual Int64 cellUniqueIdToCoordZ(Cell cell) = 0;
399
407 virtual Int64 nodeUniqueIdToCoordX(Int64 uid, Integer level) = 0;
408
415 virtual Int64 nodeUniqueIdToCoordX(Node node) = 0;
416
424 virtual Int64 nodeUniqueIdToCoordY(Int64 uid, Integer level) = 0;
425
432 virtual Int64 nodeUniqueIdToCoordY(Node node) = 0;
433
441 virtual Int64 nodeUniqueIdToCoordZ(Int64 uid, Integer level) = 0;
442
449 virtual Int64 nodeUniqueIdToCoordZ(Node node) = 0;
450
461 virtual Int64 faceUniqueIdToCoordX(Int64 uid, Integer level) = 0;
462
472 virtual Int64 faceUniqueIdToCoordX(Face face) = 0;
473
484 virtual Int64 faceUniqueIdToCoordY(Int64 uid, Integer level) = 0;
485
495 virtual Int64 faceUniqueIdToCoordY(Face face) = 0;
496
507 virtual Int64 faceUniqueIdToCoordZ(Int64 uid, Integer level) = 0;
508
518 virtual Int64 faceUniqueIdToCoordZ(Face face) = 0;
519
527 virtual Int64 cellUniqueId(Integer level, Int64x3 cell_coord) = 0;
528
536 virtual Int64 cellUniqueId(Integer level, Int64x2 cell_coord) = 0;
537
545 virtual Int64 nodeUniqueId(Integer level, Int64x3 node_coord) = 0;
546
554 virtual Int64 nodeUniqueId(Integer level, Int64x2 node_coord) = 0;
555
566 virtual Int64 faceUniqueId(Integer level, Int64x3 face_coord) = 0;
567
578 virtual Int64 faceUniqueId(Integer level, Int64x2 face_coord) = 0;
579
585 virtual Integer nbNodeByCell() = 0;
586
602 virtual void cellNodeUniqueIds(ArrayView<Int64> uid, Integer level, Int64x3 cell_coord) = 0;
603
619 virtual void cellNodeUniqueIds(ArrayView<Int64> uid, Integer level, Int64x2 cell_coord) = 0;
620
636 virtual void cellNodeUniqueIds(ArrayView<Int64> uid, Integer level, Int64 cell_uid) = 0;
637
643 virtual Integer nbFaceByCell() = 0;
644
660 virtual void cellFaceUniqueIds(ArrayView<Int64> uid, Integer level, Int64x3 cell_coord) = 0;
661
677 virtual void cellFaceUniqueIds(ArrayView<Int64> uid, Integer level, Int64x2 cell_coord) = 0;
678
694 virtual void cellFaceUniqueIds(ArrayView<Int64> uid, Integer level, Int64 cell_uid) = 0;
695
706 virtual void cellUniqueIdsAroundCell(ArrayView<Int64> uid, Int64 cell_uid, Int32 level) = 0;
707
717 virtual void cellUniqueIdsAroundCell(ArrayView<Int64> uid, Cell cell) = 0;
718
727
735
746 virtual Int64 parentCellUniqueIdOfCell(Int64 uid, Integer level, bool do_fatal = true) = 0;
747
757 virtual Int64 parentCellUniqueIdOfCell(Cell cell, bool do_fatal = true) = 0;
758
768
778
787 virtual Int64 childCellUniqueIdOfCell(Cell cell, Int64 child_index_in_parent) = 0;
788
798
808
819 virtual Int64 parentNodeUniqueIdOfNode(Int64 uid, Integer level, bool do_fatal = true) = 0;
820
830 virtual Int64 parentNodeUniqueIdOfNode(Node node, bool do_fatal = true) = 0;
831
839 virtual Int64 childNodeUniqueIdOfNode(Int64 uid, Integer level) = 0;
840
847 virtual Int64 childNodeUniqueIdOfNode(Node node) = 0;
848
859 virtual Int64 parentFaceUniqueIdOfFace(Int64 uid, Integer level, bool do_fatal = true) = 0;
860
870 virtual Int64 parentFaceUniqueIdOfFace(Face face, bool do_fatal = true) = 0;
871
881 virtual Int64 childFaceUniqueIdOfFace(Int64 uid, Integer level, Int64 child_index_in_parent) = 0;
882
891 virtual Int64 childFaceUniqueIdOfFace(Face face, Int64 child_index_in_parent) = 0;
892};
893
894/*---------------------------------------------------------------------------*/
895/*---------------------------------------------------------------------------*/
896
897} // End namespace Arcane
898
899/*---------------------------------------------------------------------------*/
900/*---------------------------------------------------------------------------*/
901
902#endif //ARCANE_CARTESIANMESH_ICARTESIANMESHNUMBERINGMNG_H
Maille d'un maillage.
Definition Item.h:1178
Face d'une maille.
Definition Item.h:932
virtual Int64 childNodeUniqueIdOfNode(Int64 uid, Integer level)=0
Méthode permettant de récupérer l'uniqueId d'un noeud enfant d'un noeud parent.
virtual Int64 cellUniqueIdToCoordY(Cell cell)=0
Méthode permettant de récupérer la coordonnée en Y d'une maille.
virtual void cellNodeUniqueIds(ArrayView< Int64 > uid, Integer level, Int64x3 cell_coord)=0
Méthode permettant de récupérer les uniqueIds des noeuds d'une maille à partir de ses coordonnées.
virtual Cell childCellOfCell(Cell cell, Int64x3 child_coord_in_parent)=0
Méthode permettant de récupérer une maille enfant d'une maille parent à partir de la position de la m...
virtual Int64 globalNbFacesZCartesianView(Integer level) const =0
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les noeuds.
virtual Int64 cellUniqueId(Integer level, Int64x2 cell_coord)=0
Méthode permettant de récupérer l'uniqueId d'une maille à partir de sa position et de son niveau.
virtual Int64 faceUniqueId(Integer level, Int64x3 face_coord)=0
Méthode permettant de récupérer l'uniqueId d'une face à partir de sa position et de son niveau.
virtual Int64 nodeUniqueIdToCoordX(Int64 uid, Integer level)=0
Méthode permettant de récupérer la coordonnée en X d'un noeud grâce à son uniqueId.
virtual Int64 nodeUniqueId(Integer level, Int64x2 node_coord)=0
Méthode permettant de récupérer l'uniqueId d'un noeud à partir de sa position et de son niveau.
virtual Int64 faceUniqueIdToCoordY(Face face)=0
Méthode permettant de récupérer la coordonnée en Y d'une face.
virtual Int64 parentCellUniqueIdOfCell(Cell cell, bool do_fatal=true)=0
Méthode permettant de récupérer l'uniqueId du parent d'une maille.
virtual Int64 childNodeUniqueIdOfNode(Node node)=0
Méthode permettant de récupérer l'uniqueId d'un noeud enfant d'un noeud parent.
virtual Int64 globalNbCellsY(Integer level) const =0
Méthode permettant de récupérer le nombre de mailles global en Y d'un niveau.
virtual Int64 firstFaceUniqueId(Integer level)=0
Méthode permettant de récupérer le premier unique id utilisé par les faces d'un niveau....
virtual Integer nbNodeByCell()=0
Méthode permettant de récupérer le nombre de noeuds dans une maille.
virtual Int64 cellUniqueIdToCoordY(Int64 uid, Integer level)=0
Méthode permettant de récupérer la coordonnée en Y d'une maille grâce à son uniqueId.
virtual void prepareLevel(Int32 level)=0
Méthode permettant de préparer un nouveau niveau.
virtual Int64 nodeUniqueIdToCoordZ(Int64 uid, Integer level)=0
Méthode permettant de récupérer la coordonnée en Z d'un noeud grâce à son uniqueId.
virtual Int32 faceLevel(Int64 uid) const =0
Méthode permettant de récupérer le niveau d'une face avec son uid.
virtual Int64 nbFaceInLevel(Integer level) const =0
Méthode permettant de récupérer le nombre de faces total dans un niveau.
virtual Int64 childCellUniqueIdOfCell(Cell cell, Int64x2 child_coord_in_parent)=0
Méthode permettant de récupérer l'uniqueId d'une maille enfant d'une maille parent à partir de la pos...
virtual void cellNodeUniqueIds(ArrayView< Int64 > uid, Integer level, Int64 cell_uid)=0
Méthode permettant de récupérer les uniqueIds des noeuds d'une maille à partir de son uniqueId.
virtual Int64 childFaceUniqueIdOfFace(Face face, Int64 child_index_in_parent)=0
Méthode permettant de récupérer l'uniqueId d'une face enfant d'une face parent à partir de l'index de...
virtual Int64 faceUniqueIdToCoordZ(Int64 uid, Integer level)=0
Méthode permettant de récupérer la coordonnée en Z d'une face grâce à son uniqueId.
virtual Int64 nodeUniqueIdToCoordZ(Node node)=0
Méthode permettant de récupérer la coordonnée en Z d'un noeud.
virtual Integer nbFaceByCell()=0
Méthode permettant de récupérer le nombre de faces dans une maille.
virtual Int64 nodeUniqueIdToCoordY(Int64 uid, Integer level)=0
Méthode permettant de récupérer la coordonnée en Y d'un noeud grâce à son uniqueId.
virtual Int64 faceUniqueId(Integer level, Int64x2 face_coord)=0
Méthode permettant de récupérer l'uniqueId d'une face à partir de sa position et de son niveau.
virtual Int64 parentNodeUniqueIdOfNode(Int64 uid, Integer level, bool do_fatal=true)=0
Méthode permettant de récupérer l'uniqueId du parent d'un noeud.
virtual Int64 childCellUniqueIdOfCell(Cell cell, Int64 child_index_in_parent)=0
Méthode permettant de récupérer l'uniqueId d'une maille enfant d'une maille parent à partir de l'inde...
virtual Int64 childFaceUniqueIdOfFace(Int64 uid, Integer level, Int64 child_index_in_parent)=0
Méthode permettant de récupérer l'uniqueId d'une face enfant d'une face parent à partir de l'index de...
virtual void updateFirstLevel()=0
Méthode permettant de mettre à jour le premier niveau.
virtual Int32 cellLevel(Int64 uid) const =0
Méthode permettant de récupérer le niveau d'une maille avec son uid.
virtual Integer pattern() const =0
Méthode permettant de récupérer le pattern de raffinement utilisé dans chaque maille....
virtual void cellFaceUniqueIds(ArrayView< Int64 > uid, Integer level, Int64x2 cell_coord)=0
Méthode permettant de récupérer les uniqueIds des faces d'une maille à partir de ses coordonnées.
virtual Int64 globalNbCellsX(Integer level) const =0
Méthode permettant de récupérer le nombre de mailles global en X d'un niveau.
virtual Int64 globalNbNodesZ(Integer level) const =0
Méthode permettant de récupérer le nombre de noeuds global en Z d'un niveau.
virtual Int64 cellUniqueIdToCoordZ(Cell cell)=0
Méthode permettant de récupérer la coordonnée en Z d'une maille.
virtual Int64 globalNbFacesZ(Integer level) const =0
Méthode permettant de récupérer le nombre de faces global en Z d'un niveau.
virtual Int64 cellUniqueId(Integer level, Int64x3 cell_coord)=0
Méthode permettant de récupérer l'uniqueId d'une maille à partir de sa position et de son niveau.
virtual Int64 globalNbCellsZ(Integer level) const =0
Méthode permettant de récupérer le nombre de mailles global en Z d'un niveau.
virtual void cellUniqueIdsAroundCell(ArrayView< Int64 > uid, Int64 cell_uid, Int32 level)=0
Méthode permettant de récupérer les uniqueIds des mailles autour de la maille passée en paramètre.
virtual Int64 nodeUniqueIdToCoordY(Node node)=0
Méthode permettant de récupérer la coordonnée en Y d'un noeud.
virtual Int64 firstNodeUniqueId(Integer level)=0
Méthode permettant de récupérer le premier unique id utilisé par les noeuds d'un niveau....
virtual Int64 nodeUniqueIdToCoordX(Node node)=0
Méthode permettant de récupérer la coordonnée en X d'un noeud.
virtual Int64 parentNodeUniqueIdOfNode(Node node, bool do_fatal=true)=0
Méthode permettant de récupérer l'uniqueId du parent d'un noeud.
virtual Int64 offsetLevelToLevel(Int64 coord, Integer level_from, Integer level_to) const =0
Méthode permettant d'obtenir la position du premier noeud/maille fille à partir de la position du noe...
virtual Int64 childCellUniqueIdOfCell(Cell cell, Int64x3 child_coord_in_parent)=0
Méthode permettant de récupérer l'uniqueId d'une maille enfant d'une maille parent à partir de la pos...
virtual Int64 faceUniqueIdToCoordY(Int64 uid, Integer level)=0
Méthode permettant de récupérer la coordonnée en Y d'une face grâce à son uniqueId.
virtual Int64 globalNbFacesX(Integer level) const =0
Méthode permettant de récupérer le nombre de faces global en X d'un niveau.
virtual Int64 cellUniqueIdToCoordX(Cell cell)=0
Méthode permettant de récupérer la coordonnée en X d'une maille.
virtual Int64 globalNbNodesX(Integer level) const =0
Méthode permettant de récupérer le nombre de noeuds global en X d'un niveau.
virtual Int64 globalNbNodesY(Integer level) const =0
Méthode permettant de récupérer le nombre de noeuds global en Y d'un niveau.
virtual Int64 globalNbFacesXCartesianView(Integer level) const =0
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les noeuds.
virtual Int64 globalNbFacesY(Integer level) const =0
Méthode permettant de récupérer le nombre de faces global en Y d'un niveau.
virtual Int64 parentFaceUniqueIdOfFace(Face face, bool do_fatal=true)=0
Méthode permettant de récupérer l'uniqueId du parent d'une face.
virtual void setChildNodeCoordinates(Cell parent_cell)=0
Méthode permettant de définir les coordonnées spatiales des noeuds des mailles enfants d'une maille p...
virtual Int64 faceUniqueIdToCoordX(Int64 uid, Integer level)=0
Méthode permettant de récupérer la coordonnée en X d'une face grâce à son uniqueId.
virtual void cellNodeUniqueIds(ArrayView< Int64 > uid, Integer level, Int64x2 cell_coord)=0
Méthode permettant de récupérer les uniqueIds des noeuds d'une maille à partir de ses coordonnées.
virtual Int64 faceUniqueIdToCoordX(Face face)=0
Méthode permettant de récupérer la coordonnée en X d'une face.
virtual Cell childCellOfCell(Cell cell, Int64x2 child_coord_in_parent)=0
Méthode permettant de récupérer une maille enfant d'une maille parent à partir de la position de la m...
virtual Int64 globalNbFacesYCartesianView(Integer level) const =0
Méthode permettant de récupérer la taille de la vue "grille cartésienne" contenant les noeuds.
virtual void cellFaceUniqueIds(ArrayView< Int64 > uid, Integer level, Int64 cell_uid)=0
Méthode permettant de récupérer les uniqueIds des faces d'une maille à partir de son uniqueId.
virtual Int64 nodeUniqueId(Integer level, Int64x3 node_coord)=0
Méthode permettant de récupérer l'uniqueId d'un noeud à partir de sa position et de son niveau.
virtual Int64 cellUniqueIdToCoordZ(Int64 uid, Integer level)=0
Méthode permettant de récupérer la coordonnée en Z d'une maille grâce à son uniqueId.
virtual Int64 nbCellInLevel(Integer level) const =0
Méthode permettant de récupérer le nombre de mailles total dans un niveau.
virtual Int64 cellUniqueIdToCoordX(Int64 uid, Integer level)=0
Méthode permettant de récupérer la coordonnée en X d'une maille grâce à son uniqueId.
virtual void cellFaceUniqueIds(ArrayView< Int64 > uid, Integer level, Int64x3 cell_coord)=0
Méthode permettant de récupérer les uniqueIds des faces d'une maille à partir de ses coordonnées.
virtual void setParentNodeCoordinates(Cell parent_cell)=0
Méthode permettant de définir les coordonnées spatiales des noeuds d'une maille parent....
virtual Int64 firstCellUniqueId(Integer level)=0
Méthode permettant de récupérer le premier unique id utilisé par les mailles d'un niveau....
virtual void cellUniqueIdsAroundCell(ArrayView< Int64 > uid, Cell cell)=0
Méthode permettant de récupérer les uniqueIds des mailles autour de la maille passée en paramètre.
virtual Int32 nodeLevel(Int64 uid) const =0
Méthode permettant de récupérer le niveau d'un noeud avec son uid.
virtual Int64 parentFaceUniqueIdOfFace(Int64 uid, Integer level, bool do_fatal=true)=0
Méthode permettant de récupérer l'uniqueId du parent d'une face.
virtual Int64 faceOffsetLevelToLevel(Int64 coord, Integer level_from, Integer level_to) const =0
Méthode permettant d'obtenir la position de la première face enfant à partir de la position de la fac...
virtual Int64 faceUniqueIdToCoordZ(Face face)=0
Méthode permettant de récupérer la coordonnée en Z d'une face.
virtual Int64 parentCellUniqueIdOfCell(Int64 uid, Integer level, bool do_fatal=true)=0
Méthode permettant de récupérer l'uniqueId du parent d'une maille.
virtual Int64 nbNodeInLevel(Integer level) const =0
Méthode permettant de récupérer le nombre de noeuds total dans un niveau.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Noeud d'un maillage.
Definition Dom.h:204
Classe gérant un vecteur de dimension 2 de type T.
Definition Vector2.h:36
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-