14#include "arcane/core/CartesianMeshAllocateBuildInfo.h"
15#include "arcane/core/internal/CartesianMeshAllocateBuildInfoInternal.h"
17#include "arcane/utils/CheckedConvert.h"
18#include "arcane/utils/Vector3.h"
19#include "arcane/utils/Vector2.h"
20#include "arcane/utils/Array.h"
21#include "arcane/utils/ITraceMng.h"
22#include "arcane/utils/FatalErrorException.h"
23#include "arcane/utils/FixedArray.h"
25#include "arcane/core/IPrimaryMesh.h"
26#include "arcane/core/ItemTypeId.h"
27#include "arcane/core/IMeshInitialAllocator.h"
45 m_internal.m_p =
this;
51 Int32 m_mesh_dimension = -1;
52 Int32 m_face_builder_version = -1;
53 Int32 m_edge_builder_version = -1;
58 Int64x3 m_first_own_cell_offset;
59 Int64 m_cell_unique_id_offset = -1;
60 Int64 m_node_unique_id_offset = -1;
69Int32 CartesianMeshAllocateBuildInfoInternal::
72 return m_p->m_mesh_dimension;
81 m_p->m_face_builder_version = version;
90 return m_p->m_face_builder_version;
99 m_p->m_edge_builder_version = version;
108 return m_p->m_edge_builder_version;
114const Int64x3& CartesianMeshAllocateBuildInfoInternal::
117 return m_p->m_global_nb_cells;
123const Int32x3& CartesianMeshAllocateBuildInfoInternal::
126 return m_p->m_own_nb_cells;
132const Int64x3& CartesianMeshAllocateBuildInfoInternal::
133firstOwnCellOffset()
const
135 return m_p->m_first_own_cell_offset;
141Int64 CartesianMeshAllocateBuildInfoInternal::
142cellUniqueIdOffset()
const
144 return m_p->m_cell_unique_id_offset;
150Int64 CartesianMeshAllocateBuildInfoInternal::
151nodeUniqueIdOffset()
const
153 return m_p->m_node_unique_id_offset;
162CartesianMeshAllocateBuildInfo::
163CartesianMeshAllocateBuildInfo(IPrimaryMesh* mesh)
171CartesianMeshAllocateBuildInfo::
172~CartesianMeshAllocateBuildInfo()
199 m_p->m_mesh_dimension = 2;
204 m_p->m_node_unique_id_offset = 0;
229 m_p->m_mesh_dimension = 3;
234 m_p->m_node_unique_id_offset = 0;
247 ARCANE_FATAL(
"Mesh implementation has no IMeshInitialAllocator");
251 ARCANE_FATAL(
"Mesh does not support 'ICartesianMeshInitialAllocator'");
253 pm->
traceMng()->
info() <<
"Allocate mesh from CartesianMeshAllocateBuildInfo";
263 return &m_p->m_internal;
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Partie interne de CartesianMeshAllocateBuildInfo.
void setEdgeBuilderVersion(Int32 version)
Positionne la version utilisée pour le calcul des uniqueId() des arêtes.
void setFaceBuilderVersion(Int32 version)
Positionne la version utilisée pour le calcul des uniqueId() des faces.
Int32 faceBuilderVersion() const
Version utilisée pour le calcul des des uniqueId() des faces.
Int32 edgeBuilderVersion() const
Version utilisée pour le calcul des uniqueId() des arêtes.
void allocateMesh()
Alloue le maillage.
void setInfos3D(std::array< Int64, 3 > global_nb_cells, std::array< Int32, 3 > own_nb_cells, Int64 cell_unique_id_offset, Int64 node_unique_id_offset)
Positionne les informations pour un maillage 3D.
CartesianMeshAllocateBuildInfoInternal * _internal()
Partie interne réservée à Arcane.
void setInfos2D(std::array< Int64, 2 > global_nb_cells, std::array< Int32, 2 > own_nb_cells, Int64 cell_unique_id_offset, Int64 node_unique_id_offset)
Positionne les informations pour un maillage 2D.
Allocateur pour les maillages cartésiens.
Interface d'allocation des entités du maillage.
virtual ITraceMng * traceMng() const =0
Gestionnaire de traces.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Classe gérant un vecteur de dimension 2 de type T.
TraceMessage info() const
Flot pour un message d'information.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-