14#include "arcane/MeshPartialVariableScalarRef.h"
15#include "arcane/ItemGroup.h"
16#include "arcane/IMesh.h"
17#include "arcane/VariableBuildInfo.h"
18#include "arcane/VariableDataTypeTraits.h"
19#include "arcane/IParallelMng.h"
30template<
typename DataType> VariableTypeInfo
31ItemPartialVariableScalarRefT<DataType>::
34 eDataType dt = VariableDataTypeTraitsT<DataType>::type();
35 return VariableTypeInfo(ik,dt,1,0,
true);
41template<
typename DataType> VariableInfo
42ItemPartialVariableScalarRefT<DataType>::
43_buildVariableInfo(
const VariableBuildInfo& vbi,
eItemKind ik)
45 VariableTypeInfo vti = _buildVariableTypeInfo(ik);
46 DataStorageTypeInfo sti = vti._internalDefaultDataStorage();
47 return VariableInfo(vbi.name(),vbi.itemFamilyName(),vbi.itemGroupName(),vbi.meshName(),vti,sti);
53template<
class DataType>
58 this->_internalInit();
59 internalSetUsed(this->isUsed());
65template<
class DataType>
70 this->_internalInit();
71 internalSetUsed(this->isUsed());
77template<
class DataType>
82 internalSetUsed(this->isUsed());
88template<
typename DataType>
void
93 m_table = this->itemGroup().localIdToIndex();
101template<
class DataType>
void
106 m_table = rhs.m_table;
113template<
class DataType>
void
115fill(
const DataType& v)
117 this->m_private_part->fill(v);
123template<
typename DataType>
void
124ItemPartialVariableScalarRefT<DataType>::
125copy(
const ItemPartialVariableScalarRefT<DataType>& v)
129 operator[](iitem) = v[iitem];
139template<
class ItemType,
class DataType> VariableFactoryRegisterer
140MeshPartialVariableScalarRefT<ItemType,DataType>::
141m_auto_registerer(_autoCreate,_buildVariableTypeInfo());
146template<
typename ItemType,
typename DataType> VariableTypeInfo
147MeshPartialVariableScalarRefT<ItemType,DataType>::
148_buildVariableTypeInfo()
151 eDataType dt = VariableDataTypeTraitsT<DataType>::type();
152 return VariableTypeInfo(ik,dt,1,0,
true);
158template<
class ItemType,
class DataType>
159VariableRef* MeshPartialVariableScalarRefT<ItemType,DataType>::
160_autoCreate(
const VariableBuildInfo& vb)
162 return new ThatClass(vb);
168template<
class ItemType,
class DataType>
183template<
class ItemType,
class DataType>
198template<
class ItemType,
class DataType>
void
208template<
class ItemType,
class DataType>
auto
212 return GroupType(this->m_private_part->itemGroup());
Variable partielle scalaire sur un type d'entité du maillage.
ItemPartialVariableScalarRefT(const VariableBuildInfo &vb, eItemKind ik)
Construit une référence à la variable spécifiée dans vb.
void operator=(const ItemPartialVariableScalarRefT< DataType > &rhs)
Opérateur de recopie.
static eItemKind kind()
Genre de l'entité
Variable scalaire sur un type d'entité du maillage.
void refersTo(const MeshPartialVariableScalarRefT< ItemType, DataType > &rhs)
Positionne la référence de l'instance à la variable rhs.
MeshPartialVariableScalarRefT(const VariableBuildInfo &vb)
Construit une référence à la variable spécifiée dans vb.
GroupType itemGroup() const
Groupe associé à la grandeur.
Classe de factorisation des variables scalaires sur des entités du maillage.
Paramètres nécessaires à la construction d'une variable.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.
eDataType
Type d'une donnée.