Arcane
v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
VariableBuildInfo.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
/* VariableBuildInfo.h (C) 2000-2024 */
9
/* */
10
/* Informations pour construire une variable. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_VARIABLEBUILDINFO_H
13
#define ARCANE_VARIABLEBUILDINFO_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/utils/String.h"
18
#include "arcane/core/MeshHandle.h"
19
20
/*---------------------------------------------------------------------------*/
21
/*---------------------------------------------------------------------------*/
22
23
namespace
Arcane
24
{
25
26
/*---------------------------------------------------------------------------*/
27
/*---------------------------------------------------------------------------*/
28
29
class
IModule;
30
class
ISubDomain;
31
class
IMesh;
32
class
IItemFamily;
33
class
IVariableMng;
34
class
VariablePrivate;
35
class
IDataFactoryMng;
36
37
/*---------------------------------------------------------------------------*/
38
/*---------------------------------------------------------------------------*/
39
/*!
40
* \brief Paramètres nécessaires à la construction d'une variable.
41
*/
42
class
ARCANE_CORE_EXPORT
VariableBuildInfo
43
{
44
public
:
45
46
// Pour accéder au constructeur par défaut.
47
friend
class
NullVariableBuildInfo
;
48
// TEMPORAIRE Pour accéder à _subDomain(). A supprimer par la suite.
49
friend
class
VariablePrivate
;
50
51
private
:
52
53
//! Tag pour un VariableBuildInfo nul.
54
struct
NullTag
55
{};
56
57
public
:
58
59
/*!
60
* \brief Construit un initialiseur pour une variable.
61
*
62
* \param name nom de la variable
63
* \param m module associé
64
* \param property propriétés de la variable
65
*/
66
VariableBuildInfo
(
IModule
* m,
const
String
& name,
int
property=0);
67
68
/*!
69
* \brief Construit un initialiseur pour une variable sans l'associer à
70
* un module.
71
*
72
* \param sub_domain gestionnaire de sous-domaine
73
* \param name nom de la variable
74
* \param property propriétés de la variable
75
*/
76
VariableBuildInfo
(
ISubDomain
* sub_domain,
const
String
& name,
int
property=0);
77
78
/*!
79
* \brief Construit un initialiseur pour une variable sans l'associer à
80
* un module.
81
*
82
* \param variable_mng gestionnaire de variable
83
* \param name nom de la variable
84
* \param property propriétés de la variable
85
*/
86
VariableBuildInfo
(
IVariableMng
* variable_mng,
const
String
& name,
int
property=0);
87
88
/*!
89
* \brief Construit un initialiseur pour une variable associée à
90
* un maillage autre que le maillage par défaut.
91
*
92
* \param mesh maillage
93
* \param name nom de la variable
94
* \param property propriétés de la variable
95
*/
96
VariableBuildInfo
(
IMesh
* mesh,
const
String
& name,
int
property=0);
97
98
/*!
99
* \brief Construit un initialiseur pour une variable associée à
100
* un maillage autre que le maillage par défaut.
101
*
102
* \param mesh maillage
103
* \param name nom de la variable
104
* \param property propriétés de la variable
105
*/
106
VariableBuildInfo
(
const
MeshHandle
& mesh_handle,
const
String
& name,
int
property=0);
107
108
/*!
109
* \brief Construit un initialiseur pour une variable.
110
*
111
* \param m module associé
112
* \param name nom de la variable
113
* \param item_family_name nom de la famille d'entité
114
* \param property propriétés de la variable
115
*/
116
VariableBuildInfo
(
IModule
* m,
const
String
& name,
117
const
String
& item_family_name,
int
property=0);
118
119
/*!
120
* \brief Construit un initialiseur pour une variable associée à
121
* un maillage autre que le maillage par défaut.
122
*
123
* \param mesh maillage
124
* \param name nom de la variable
125
* \param item_family_name nom de la famille d'entité
126
* \param property propriétés de la variable
127
*/
128
VariableBuildInfo
(
IMesh
* mesh,
const
String
& name,
129
const
String
& item_family_name,
int
property=0);
130
131
/*!
132
* \brief Construit un initialiseur pour une variable associée à
133
* un maillage autre que le maillage par défaut.
134
*
135
* \param mesh maillage
136
* \param name nom de la variable
137
* \param item_family_name nom de la famille d'entité
138
* \param property propriétés de la variable
139
*/
140
VariableBuildInfo
(
const
MeshHandle
& mesh_handle,
const
String
& name,
141
const
String
& item_family_name,
int
property=0);
142
143
/*!
144
* \brief Construit un initialiseur pour une variable non associée à un maillage.
145
*
146
* \param sd sous-domaine
147
* \param name nom de la variable
148
* \param mesh_name nom du maillage
149
* \param item_family_name nom de la famille d'entité
150
* \param property propriétés de la variable
151
*/
152
VariableBuildInfo
(
ISubDomain
* sd,
const
String
& name,
const
String
& mesh_name,
153
const
String
& item_family_name,
int
property=0);
154
155
/*!
156
* \brief Construit un initialiseur pour une variable non associée à un maillage.
157
*
158
* \param variable_mng gestionnaire de variable
159
* \param name nom de la variable
160
* \param mesh_name nom du maillage
161
* \param item_family_name nom de la famille d'entité
162
* \param property propriétés de la variable
163
*/
164
VariableBuildInfo
(
IVariableMng
* variable_mng,
const
String
& name,
const
String
& mesh_name,
165
const
String
& item_family_name,
int
property=0);
166
167
/*!
168
* \brief Construit un initialiseur pour une variable associée à
169
* un maillage autre que le maillage par défaut.
170
*
171
* \param family famille d'entité
172
* \param name nom de la variable
173
* \param property propriétés de la variable
174
*/
175
VariableBuildInfo
(
IItemFamily
* family,
const
String
& name,
int
property=0);
176
177
/*!
178
* \brief Construit un initialiseur pour une variable.
179
*
180
* \param m module associé
181
* \param name nom de la variable
182
* \param item_family_name nom de la famille d'entité
183
* \param group_name nom du groupe associé (pour les variables partielles)
184
* \param property propriétés de la variable
185
*/
186
VariableBuildInfo
(
IModule
* m,
const
String
& name,
187
const
String
& item_family_name,
188
const
String
& item_group_name,
int
property=0);
189
190
/*!
191
* \brief Construit un initialiseur pour une variable associée à
192
* un maillage autre que le maillage par défaut.
193
*
194
* \param mesh maillage
195
* \param name nom de la variable
196
* \param item_family_name nom de la famille d'entité
197
* \param group_name nom du groupe associé (pour les variables partielles)
198
* \param property propriétés de la variable
199
*/
200
VariableBuildInfo
(
IMesh
* mesh,
const
String
& name,
201
const
String
& item_family_name,
202
const
String
& item_group_name,
int
property=0);
203
204
/*!
205
* \brief Construit un initialiseur pour une variable associée à
206
* un maillage autre que le maillage par défaut.
207
*
208
* \param mesh maillage
209
* \param name nom de la variable
210
* \param item_family_name nom de la famille d'entité
211
* \param group_name nom du groupe associé (pour les variables partielles)
212
* \param property propriétés de la variable
213
*/
214
VariableBuildInfo
(
const
MeshHandle
& mesh_handle,
const
String
& name,
215
const
String
& item_family_name,
216
const
String
& item_group_name,
int
property=0);
217
218
/*!
219
* \brief Construit un initialiseur pour une variable non associée à un maillage
220
*
221
* \param sd sous-domaine
222
* \param name nom de la variable
223
* \param mesh_name nom du maillage
224
* \param item_family_name nom de la famille d'entité
225
* \param group_name nom du groupe associé (pour les variables partielles)
226
* \param property propriétés de la variable
227
*/
228
VariableBuildInfo
(
ISubDomain
* sd,
const
String
& name,
229
const
String
& mesh_name,
230
const
String
& item_family_name,
231
const
String
& item_group_name,
int
property=0);
232
233
/*!
234
* \brief Construit un initialiseur pour une variable non associée à un maillage
235
*
236
* \param variable_mng gestionnaire de variable
237
* \param name nom de la variable
238
* \param mesh_name nom du maillage
239
* \param item_family_name nom de la famille d'entité
240
* \param group_name nom du groupe associé (pour les variables partielles)
241
* \param property propriétés de la variable
242
*/
243
VariableBuildInfo
(
IVariableMng
* variable_mng,
const
String
& name,
244
const
String
& mesh_name,
245
const
String
& item_family_name,
246
const
String
& item_group_name,
int
property=0);
247
248
private
:
249
250
explicit
VariableBuildInfo
(
const
NullTag&);
251
252
public
:
253
254
ARCCORE_DEPRECATED_2020(
"Do not use this method. Try to get ISubDomain from another way"
)
255
ISubDomain
* subDomain()
const
{
return
m_sub_domain; }
256
257
public
:
258
259
IVariableMng
* variableMng()
const
;
260
IDataFactoryMng
* dataFactoryMng()
const
;
261
ITraceMng
* traceMng()
const
;
262
IModule
* module()
const
{
return
m_module; }
263
IMesh
* mesh()
const
{
return
m_mesh_handle.mesh(); }
264
const
MeshHandle
& meshHandle()
const
{
return
m_mesh_handle; }
265
const
String
& name()
const
{
return
m_name; }
266
const
String
& itemFamilyName()
const
{
return
m_item_family_name; }
267
const
String
& itemGroupName()
const
{
return
m_item_group_name; }
268
const
String
& meshName()
const
{
return
m_mesh_name; }
269
int
property()
const
{
return
m_property; }
270
bool
isNull()
const
{
return
m_is_null; }
271
272
private
:
273
274
ISubDomain
* m_sub_domain =
nullptr
;
//!< Gestionnaire de sous-domaine
275
IModule
* m_module =
nullptr
;
//!< Module associé à la variable
276
MeshHandle
m_mesh_handle;
//!< Handle sur le maillage
277
String
m_name;
//!< Nom de la variable
278
String
m_item_family_name;
//!< Nom de la famille d'entité
279
String
m_item_group_name;
//!< Nom du groupe d'entité support
280
String
m_mesh_name;
//!< Nom du maillage associé à la variable
281
int
m_property = 0;
//!< Propriétés de la variable
282
bool
m_is_null =
false
;
283
284
private
:
285
286
void
_init();
287
ISubDomain
* _subDomain()
const
{
return
m_sub_domain; }
288
};
289
290
/*---------------------------------------------------------------------------*/
291
/*---------------------------------------------------------------------------*/
292
/*!
293
* \brief Constructeur pour une variable nulle.
294
*
295
* \warning Cette classe est expérimentale. Ne pas utiliser en dehors
296
* de Arcane.
297
*/
298
class
ARCANE_CORE_EXPORT
NullVariableBuildInfo
299
:
public
VariableBuildInfo
300
{
301
public
:
302
303
NullVariableBuildInfo
()
304
:
VariableBuildInfo
(NullTag{})
305
{}
306
};
307
308
/*---------------------------------------------------------------------------*/
309
/*---------------------------------------------------------------------------*/
310
311
}
// End namespace Arcane
312
313
/*---------------------------------------------------------------------------*/
314
/*---------------------------------------------------------------------------*/
315
316
#endif
317
Arcane::IDataFactoryMng
Definition
IDataFactoryMng.h:40
Arcane::IItemFamily
Interface d'une famille d'entités.
Definition
IItemFamily.h:111
Arcane::IMesh
Definition
IMesh.h:59
Arcane::IModule
Interface d'un module.
Definition
IModule.h:39
Arcane::ISubDomain
Interface du gestionnaire d'un sous-domaine.
Definition
ISubDomain.h:74
Arcane::IVariableMng
Interface du gestionnaire de variables.
Definition
IVariableMng.h:57
Arcane::MeshHandle
Handle sur un maillage.
Definition
MeshHandle.h:47
Arcane::NullVariableBuildInfo
Constructeur pour une variable nulle.
Definition
VariableBuildInfo.h:300
Arcane::VariableBuildInfo
Paramètres nécessaires à la construction d'une variable.
Definition
VariableBuildInfo.h:43
Arcane::VariablePrivate
Definition
Variable.cc:79
Arccore::ITraceMng
Interface du gestionnaire de traces.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:156
Arccore::String
Chaîne de caractères unicode.
Definition
arccore/src/base/arccore/base/String.h:70
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AbstractCaseDocumentVisitor.cc:20
arcane
core
VariableBuildInfo.h
Généré le Lundi 18 Novembre 2024 02:56:50 pour Arcane par
1.9.8