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;
78void CartesianMeshAllocateBuildInfoInternal::
79setFaceBuilderVersion(
Int32 version)
81 m_p->m_face_builder_version = version;
87Int32 CartesianMeshAllocateBuildInfoInternal::
88faceBuilderVersion()
const
90 return m_p->m_face_builder_version;
96void CartesianMeshAllocateBuildInfoInternal::
97setEdgeBuilderVersion(
Int32 version)
99 m_p->m_edge_builder_version = version;
105Int32 CartesianMeshAllocateBuildInfoInternal::
106edgeBuilderVersion()
const
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.
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.
Classe gérant un vecteur de dimension 2 de type T.
Référence à une instance.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int32_t Int32
Type entier signé sur 32 bits.