14#include "arcane/utils/FatalErrorException.h"
15#include "arcane/utils/ArgumentException.h"
16#include "arcane/utils/ITraceMng.h"
17#include "arcane/utils/PlatformUtils.h"
19#include "arcane/IItemFamily.h"
20#include "arcane/ItemGroup.h"
21#include "arcane/IMesh.h"
22#include "arcane/UnstructuredMeshConnectivity.h"
24#include "arcane/cartesianmesh/CellDirectionMng.h"
25#include "arcane/cartesianmesh/ICartesianMesh.h"
48 Integer m_patch_index = -1;
50 Int32 m_sub_domain_offset = -1;
51 Int32 m_own_nb_cell = -1;
52 Int64 m_global_nb_cell = -1;
53 Int64 m_own_cell_offset = -1;
62, m_next_face_index(-1)
63, m_previous_face_index(-1)
65 for( Integer i=0; i<MAX_NB_NODE; ++i )
66 m_nodes_indirection[i] = (-1);
79 m_p->m_cartesian_mesh =
cm;
100 m_infos_view = m_p->m_infos.view();
114 Int32
i1 = m_infos_view[
lid].m_next_lid;
115 Int32
i2 = m_infos_view[
lid].m_previous_lid;
116 if (
i1==NULL_ITEM_LOCAL_ID ||
i2==NULL_ITEM_LOCAL_ID)
121 int dir = (
int)m_direction;
123 if (m_p->m_patch_index>=0)
127 m_p->m_all_items = items;
142 return m_p->m_all_items;
151 return m_p->m_inner_all_items;
160 return m_p->m_outer_all_items;
166void CellDirectionMng::
169 for( Integer i=0; i<MAX_NB_NODE; ++i )
174 tm->
info(4) <<
"Set computed indirection dir=" << (
int)m_direction;
175 for( Integer i=0; i<MAX_NB_NODE; ++i ){
176 tm->
info(5) <<
"Indirection i=" << i <<
" v=" << (
int)m_nodes_indirection[i];
186 return (m_p) ? m_p->m_global_nb_cell : -1;
195 return (m_p) ? m_p->m_own_nb_cell : -1;
204 return (m_p) ? m_p->m_sub_domain_offset : -1;
213 return (m_p) ? m_p->m_own_cell_offset : -1;
219void CellDirectionMng::
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
CellGroup outerCells() const
Groupe de toutes les mailles externes dans la direction.
CellGroup allCells() const
Groupe de toutes les mailles dans la direction.
Int64 ownCellOffset() const
Offset dans cette direction de la première maille propre de ce sous-domaine.
Int64 globalNbCell() const
Nombre global de mailles dans cette direction.
void _internalInit(ICartesianMesh *cm, eMeshDirection dir, Integer patch_index)
CellGroup innerCells() const
Groupe de toutes les mailles internes dans la direction.
CellDirectionMng()
Créé une instance vide.
Int32 subDomainOffset() const
Offset dans cette direction du sous-domaine.
Int32 ownNbCell() const
Nombre de mailles propres dans cette direction.
void _internalResizeInfos(Int32 new_size)
Redimensionne le conteneur contenant les ItemDirectionInfo.
void _internalComputeInnerAndOuterItems(const ItemGroup &items)
Usage interne à Arcane. Calcul les entités internes et externes. Suppose que init() a été appelé.
Vue sur les informations des mailles.
Interface d'un maillage cartésien.
virtual ITraceMng * traceMng() const =0
Gestionnaire de trace associé.
virtual IMesh * mesh() const =0
Maillage associé à ce maillage cartésien.
Interface d'une famille d'entités.
virtual ItemGroup createGroup(const String &name, Int32ConstArrayView local_ids, bool do_override=false)=0
Créé un groupe d'entités de nom name contenant les entités local_ids.
Groupe d'entités de maillage.
IItemFamily * itemFamily() const
Famille d'entité à laquelle appartient ce groupe (0 pour le group nul)
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Vue sur les connectivités standards d'un maillage non structuré.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
TraceMessage info() const
Flot pour un message d'information.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMeshDirection
Type de la direction pour un maillage structuré
@ MD_DirInvalid
Direction invalide ou non initialisée.