14#include "arcane/VariableInfo.h"
16#include "arcane/utils/FatalErrorException.h"
17#include "arcane/utils/StringBuilder.h"
19#include "arcane/datatype/DataTypeTraits.h"
27DataStorageTypeInfo VariableInfo::
28_internalGetStorageTypeInfo(
eDataType data_type,Integer dimension,Integer multi_tag)
34 nb_basic = DataTypeTraitsT<Byte>::nbBasicType();
35 basic_data_type = DataTypeTraitsT<Byte>::basicDataType();
38 nb_basic = DataTypeTraitsT<Int16>::nbBasicType();
39 basic_data_type = DataTypeTraitsT<Int16>::basicDataType();
42 nb_basic = DataTypeTraitsT<Int32>::nbBasicType();
43 basic_data_type = DataTypeTraitsT<Int32>::basicDataType();
46 nb_basic = DataTypeTraitsT<Int64>::nbBasicType();
47 basic_data_type = DataTypeTraitsT<Int64>::basicDataType();
50 nb_basic = DataTypeTraitsT<Real>::nbBasicType();
51 basic_data_type = DataTypeTraitsT<Real>::basicDataType();
54 nb_basic = DataTypeTraitsT<Real2>::nbBasicType();
55 basic_data_type = DataTypeTraitsT<Real2>::basicDataType();
58 nb_basic = DataTypeTraitsT<Real3>::nbBasicType();
59 basic_data_type = DataTypeTraitsT<Real3>::basicDataType();
62 nb_basic = DataTypeTraitsT<Real2x2>::nbBasicType();
63 basic_data_type = DataTypeTraitsT<Real2x2>::basicDataType();
66 nb_basic = DataTypeTraitsT<Real3x3>::nbBasicType();
67 basic_data_type = DataTypeTraitsT<Real3x3>::basicDataType();
76 basic_data_type = eBasicDataType::Byte;
81 return DataStorageTypeInfo(basic_data_type,nb_basic,
dimension,multi_tag);
88VariableInfo(
const String& local_name,
const String& item_family_name,
89 const String& item_group_name,
90 const String& mesh_name,
eItemKind item_kind,
91 Integer dimension,Integer multi_tag,
eDataType data_type)
92: VariableInfo(local_name,item_family_name,item_group_name,mesh_name,
93 VariableTypeInfo(item_kind,data_type,dimension,multi_tag,!item_group_name.null()),
94 _internalGetStorageTypeInfo(data_type,dimension,multi_tag))
102VariableInfo(
const String& local_name,
const String& item_family_name,
103 const String& item_group_name,
104 const String& mesh_name,
105 const VariableTypeInfo& var_type_info,
106 const DataStorageTypeInfo& storage_info)
107: m_local_name(local_name)
108, m_item_family_name(item_family_name)
109, m_item_group_name(item_group_name)
110, m_mesh_name(mesh_name)
111, m_variable_type_info(var_type_info)
112, m_storage_type_info(storage_info)
114 if (m_item_family_name.null())
115 m_item_family_name = _defaultFamilyName();
133 ARCANE_FATAL(
"No default family for 'particle' variable '{0}'",m_local_name);
135 ARCANE_FATAL(
"No default family for 'dof' variable '{0}'",m_local_name);
137 family_name = ItemTraitsT<Node>::defaultFamilyName();
140 family_name = ItemTraitsT<Edge>::defaultFamilyName();
143 family_name = ItemTraitsT<Face>::defaultFamilyName();
146 family_name = ItemTraitsT<Cell>::defaultFamilyName();
164_computeFullName()
const
166 StringBuilder full_name;
167 if (m_mesh_name.null()){
168 full_name = String();
171 full_name = m_mesh_name;
175 if (m_item_family_name.null()){
176 full_name += m_local_name;
179 full_name += m_item_family_name;
181 full_name += m_local_name;
183 m_full_name = full_name.toString();
190setDefaultItemGroupName()
192 if (!m_item_group_name.null())
195 m_item_group_name =
"All" + m_item_family_name +
"s";
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Integer dimension() const
Dimension.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.
@ IK_Particle
Entité de maillage de genre particule.
@ IK_Node
Entité de maillage de genre noeud.
@ IK_Cell
Entité de maillage de genre maille.
@ IK_Unknown
Entité de maillage de genre inconnu ou non initialisé
@ IK_Face
Entité de maillage de genre face.
@ IK_DoF
Entité de maillage de genre degre de liberte.
@ IK_Edge
Entité de maillage de genre arête.
eDataType
Type d'une donnée.
@ DT_Real2x2
Donnée de type tenseur 3x3.
@ DT_Int16
Donnée de type entier 16 bits.
@ DT_Real3x3
Donnée de type tenseur 3x3.
@ DT_Int32
Donnée de type entier 32 bits.
@ DT_Real3
Donnée de type vecteur 3.
@ DT_Int64
Donnée de type entier 64 bits.
@ DT_Unknown
Donnée de type inconnue ou non initialisée.
@ DT_String
Donnée de type chaîne de caractère UTF-8.
@ DT_Real2
Donnée de type vecteur 2.
@ DT_Real
Donnée de type réel.
@ DT_Byte
Donnée de type octet.
Int32 Integer
Type représentant un entier.
eBasicDataType
Type d'une donnée de base.