Arcane
v3.16.0.0
Documentation développeur
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
/*---------------------------------------------------------------------------*/
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
54
struct
NullTag
55
{};
56
57
public
:
58
66
VariableBuildInfo
(
IModule
* m,
const
String
& name,
int
property=0);
67
76
VariableBuildInfo
(
ISubDomain
* sub_domain,
const
String
& name,
int
property=0);
77
86
VariableBuildInfo
(
IVariableMng
* variable_mng,
const
String
& name,
int
property=0);
87
96
VariableBuildInfo
(
IMesh
* mesh,
const
String
& name,
int
property=0);
97
106
VariableBuildInfo
(
const
MeshHandle
& mesh_handle,
const
String
& name,
int
property=0);
107
116
VariableBuildInfo
(
IModule
* m,
const
String
& name,
117
const
String
& item_family_name,
int
property=0);
118
128
VariableBuildInfo
(
IMesh
* mesh,
const
String
& name,
129
const
String
& item_family_name,
int
property=0);
130
140
VariableBuildInfo
(
const
MeshHandle
& mesh_handle,
const
String
& name,
141
const
String
& item_family_name,
int
property=0);
142
152
VariableBuildInfo
(
ISubDomain
* sd,
const
String
& name,
const
String
& mesh_name,
153
const
String
& item_family_name,
int
property=0);
154
164
VariableBuildInfo
(
IVariableMng
* variable_mng,
const
String
& name,
const
String
& mesh_name,
165
const
String
& item_family_name,
int
property=0);
166
175
VariableBuildInfo
(
IItemFamily
* family,
const
String
& name,
int
property=0);
176
186
VariableBuildInfo
(
IModule
* m,
const
String
& name,
187
const
String
& item_family_name,
188
const
String
& item_group_name,
int
property=0);
189
200
VariableBuildInfo
(
IMesh
* mesh,
const
String
& name,
201
const
String
& item_family_name,
202
const
String
& item_group_name,
int
property=0);
203
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
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
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
;
275
IModule
*
m_module
=
nullptr
;
276
MeshHandle
m_mesh_handle
;
277
String
m_name
;
278
String
m_item_family_name
;
279
String
m_item_group_name
;
280
String
m_mesh_name
;
281
int
m_property
= 0;
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
/*---------------------------------------------------------------------------*/
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
Interface du gestionnaire de fabrique d'une donnée.
Definition
IDataFactoryMng.h:40
Arcane::IItemFamily
Interface d'une famille d'entités.
Definition
IItemFamily.h:84
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::ITraceMng
Interface du gestionnaire de traces.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:156
Arcane::IVariableMng
Interface du gestionnaire de variables.
Definition
IVariableMng.h:57
Arcane::MeshHandle
Handle sur un maillage.
Definition
MeshHandle.h:47
Arcane::String
Chaîne de caractères unicode.
Definition
arccore/src/base/arccore/base/String.h:70
Arcane::VariableBuildInfo::m_item_group_name
String m_item_group_name
Nom du groupe d'entité support.
Definition
VariableBuildInfo.h:279
Arcane::VariableBuildInfo::m_mesh_name
String m_mesh_name
Nom du maillage associé à la variable.
Definition
VariableBuildInfo.h:280
Arcane::VariableBuildInfo::VariableBuildInfo
VariableBuildInfo(IModule *m, const String &name, int property=0)
Construit un initialiseur pour une variable.
Definition
VariableBuildInfo.cc:46
Arcane::VariableBuildInfo::m_module
IModule * m_module
Module associé à la variable.
Definition
VariableBuildInfo.h:275
Arcane::VariableBuildInfo::m_mesh_handle
MeshHandle m_mesh_handle
Handle sur le maillage.
Definition
VariableBuildInfo.h:276
Arcane::VariableBuildInfo::m_property
int m_property
Propriétés de la variable.
Definition
VariableBuildInfo.h:281
Arcane::VariableBuildInfo::m_item_family_name
String m_item_family_name
Nom de la famille d'entité
Definition
VariableBuildInfo.h:278
Arcane::VariableBuildInfo::m_name
String m_name
Nom de la variable.
Definition
VariableBuildInfo.h:277
Arcane::VariableBuildInfo::m_sub_domain
ISubDomain * m_sub_domain
Gestionnaire de sous-domaine.
Definition
VariableBuildInfo.h:274
Arcane::VariablePrivate
Definition
Variable.cc:79
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AcceleratorGlobal.h:36
Arcane::VariableBuildInfo::NullTag
Tag pour un VariableBuildInfo nul.
Definition
VariableBuildInfo.h:55
arcane
core
VariableBuildInfo.h
Généré le Lundi 31 Mars 2025 02:52:59 pour Arcane par
1.13.2