Arcane
v3.15.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
CartesianMeshAllocateBuildInfo.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2023 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
/* CartesianMeshAllocateBuildInfo.h (C) 2000-2023 */
9
/* */
10
/* Informations pour allouer les entités d'un maillage cartésien. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_CORE_CARTESIANMESHALLOCATEBUILDINFO_H
13
#define ARCANE_CORE_CARTESIANMESHALLOCATEBUILDINFO_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "
arcane/core/ItemTypes.h
"
18
19
/*---------------------------------------------------------------------------*/
20
/*---------------------------------------------------------------------------*/
21
22
namespace
Arcane
23
{
24
class
CartesianMeshAllocateBuildInfoInternal;
25
26
/*---------------------------------------------------------------------------*/
27
/*---------------------------------------------------------------------------*/
28
/*!
29
* \brief Informations pour allouer les entités d'un maillage non structuré.
30
*
31
* Cette classe permet de spécifier les mailles qui seront ajoutées lors
32
* de l'allocation initiale du maillage.
33
* Il faut appeler setMeshDimension() pour spécifier la dimension du maillage
34
* puis appeler addCell() pour chaque maille qu'on souhaite ajouter. Une fois
35
* toute les mailles ajoutées il faut appeler allocateMesh().
36
*/
37
class
ARCANE_CORE_EXPORT
CartesianMeshAllocateBuildInfo
38
{
39
public
:
40
41
class
Impl
;
42
class
Intenrnal
;
43
44
public
:
45
46
explicit
CartesianMeshAllocateBuildInfo
(
IPrimaryMesh
* mesh);
47
~CartesianMeshAllocateBuildInfo
();
48
49
public
:
50
51
CartesianMeshAllocateBuildInfo
(
CartesianMeshAllocateBuildInfo
&&
from
) =
delete
;
52
CartesianMeshAllocateBuildInfo
(
const
CartesianMeshAllocateBuildInfo
&
from
) =
delete
;
53
CartesianMeshAllocateBuildInfo
& operator=(
CartesianMeshAllocateBuildInfo
&&
from
) =
delete
;
54
CartesianMeshAllocateBuildInfo
& operator=(
const
CartesianMeshAllocateBuildInfo
&
from
) =
delete
;
55
56
public
:
57
58
//! Positionne les informations pour un maillage 3D.
59
ARCANE_DEPRECATED_REASON(
"Y2023: Use overload with first_own_cell_offset instead"
)
60
void
setInfos3D(std::array<Int64, 3>
global_nb_cells
,
61
std::array<Int32, 3>
own_nb_cells
,
62
Int64
cell_unique_id_offset
,
63
Int64
node_unique_id_offset
);
64
65
//! Positionne les informations pour un maillage 3D.
66
void
setInfos3D(
const
Int64x3
&
global_nb_cells
,
67
const
Int32x3
&
own_nb_cells
,
68
const
Int64x3
&
first_own_cell_offset
,
69
Int64
cell_unique_id_offset
);
70
71
//! Positionne les informations pour un maillage 2D.
72
ARCANE_DEPRECATED_REASON(
"Y2023: Use overload with first_own_cell_offset instead"
)
73
void
setInfos2D(std::array<Int64, 2>
global_nb_cells
,
74
std::array<Int32, 2>
own_nb_cells
,
75
Int64
cell_unique_id_offset
,
76
Int64
node_unique_id_offset
);
77
78
//! Positionne les informations pour un maillage 2D.
79
void
setInfos2D(
const
Int64x2
&
global_nb_cells
,
80
const
Int32x2
&
own_nb_cells
,
81
const
Int64x2
&
first_own_cell_offset
,
82
Int64
cell_unique_id_offset
);
83
84
/*!
85
* \brief Alloue le maillage.
86
*
87
* Il est nécessaire d'avoir appelé setInfos() avant.
88
*
89
* Cette méthode est collective.
90
*/
91
void
allocateMesh();
92
93
public
:
94
95
//! Partie interne réservée à Arcane
96
CartesianMeshAllocateBuildInfoInternal
* _internal();
97
98
private
:
99
100
Impl
* m_p =
nullptr
;
101
};
102
103
/*---------------------------------------------------------------------------*/
104
/*---------------------------------------------------------------------------*/
105
106
}
// End namespace Arcane
107
108
/*---------------------------------------------------------------------------*/
109
/*---------------------------------------------------------------------------*/
110
111
#endif
ItemTypes.h
Déclarations de types sur les entités.
Arcane::CartesianMeshAllocateBuildInfo::Impl
Definition
CartesianMeshAllocateBuildInfo.cc:39
Arcane::CartesianMeshAllocateBuildInfo
Informations pour allouer les entités d'un maillage non structuré.
Definition
CartesianMeshAllocateBuildInfo.h:38
Arcane::IPrimaryMesh
Definition
IPrimaryMesh.h:43
Arcane::Vector2
Classe gérant un vecteur de dimension 2 de type T.
Definition
Vector2.h:36
Arcane::Vector3< Int64 >
Arccore::Ref
Référence à une instance.
Definition
arccore/src/base/arccore/base/Ref.h:143
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AbstractCaseDocumentVisitor.cc:20
arcane
core
CartesianMeshAllocateBuildInfo.h
Généré le Lundi 10 Février 2025 02:47:07 pour Arcane par
1.9.8