Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MaterialVariableTypeInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* MaterialVariableTypeInfo.h (C) 2000-2022 */
9/* */
10/* Informations caractérisants le type d'une variable matériaux. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_MATERIALVARIABLETYPEINFO_H
13#define ARCANE_CORE_MATERIALS_MATERIALVARIABLETYPEINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/VariableTypeInfo.h"
18#include "arcane/core/materials/MaterialsCoreGlobal.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane::Materials
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Informations caractérisant le type d'une variable matériau.
30 *
31 * Les instances de cette classes peuvent être utilisées dans les
32 * constructeurs statiques. Pour éviter tout problème cette classe ne doit
33 * pas utiliser d'allocation dynamique.
34 */
35class ARCANE_CORE_EXPORT MaterialVariableTypeInfo
36{
37 public:
38
39 constexpr MaterialVariableTypeInfo(eItemKind item_kind, eDataType data_type,
40 Integer dimension, MatVarSpace space)
41 : m_variable_type_info(item_kind, data_type, dimension, 0, false)
42 , m_mat_var_space(space)
43 {}
44
45 public:
46
47 //! Type d'entité de maillage
48 constexpr eItemKind itemKind() const { return m_variable_type_info.itemKind(); }
49 //! Dimension
50 constexpr Integer dimension() const { return m_variable_type_info.dimension(); }
51 //! Type des données de la variable
52 constexpr eDataType dataType() const { return m_variable_type_info.dataType(); }
53 //! Nom complet du type de la variable
54 String fullName() const;
55
56 private:
57
58 VariableTypeInfo m_variable_type_info;
59 MatVarSpace m_mat_var_space;
60
61 private:
62
63 String _buildFullTypeName() const;
64};
65
66/*---------------------------------------------------------------------------*/
67/*---------------------------------------------------------------------------*/
68
69} // namespace Arcane::Materials
70
71/*---------------------------------------------------------------------------*/
72/*---------------------------------------------------------------------------*/
73
74#endif
Informations caractérisant le type d'une variable matériau.
constexpr Integer dimension() const
Dimension.
constexpr eDataType dataType() const
Type des données de la variable.
constexpr eItemKind itemKind() const
Type d'entité de maillage.
Informations caractérisant le type d'une variable.
Chaîne de caractères unicode.
Active toujours les traces dans les parties Arcane concernant les matériaux.
MatVarSpace
Espace de définition d'une variable matériau.
eItemKind
Genre d'entité de maillage.
eDataType
Type d'une donnée.
Definition DataTypes.h:39