8#include "arcane/geometry/impl/GeometryTemplatesT.h"
9#include "arcane/VariableBuildInfo.h"
12NUMERICS_BEGIN_NAMESPACE
14template<
typename GeometryT>
19 PropertyMap::iterator
igroup = m_group_property_map.find(group.
internal());
20 if (
igroup == m_group_property_map.end())
24 if ((properties.defined & ~properties.computed & ~properties.delegated) == 0)
30 for(
typename ItemGroupGeometryProperty::StorageInfos::iterator i = properties.storages.begin(); i != properties.storages.end(); ++i)
32 IGeometryProperty::eProperty
property = i->first;
35 if ((properties.computed & property) || (properties.delegated & property))
37 traceMng()->
debug() <<
"Property " << IGeometryProperty::name(property) <<
" is delayed for group " << group.
name();
42 traceMng()->
debug() <<
"Property " << IGeometryProperty::name(property) <<
" will be computed for group " << group.
name();
45 if (IGeometryProperty::isScalar(property))
47 std::shared_ptr<RealVariable> &
ivar = storage.realVar;
48 if (!
ivar && (storage.storageType & IGeometryProperty::PVariable))
62 ARCANE_ASSERT((IGeometryProperty::isVectorial(property)),(
"Vectorial property expected"));
63 std::shared_ptr<Real3Variable> &
ivar = storage.real3Var;
64 if (!
ivar && (storage.storageType & IGeometryProperty::PVariable))
78 if (properties.defined & ~properties.computed & ~properties.delegated) {
80 updater.setGroupProperty(&properties);
85 for(
typename ItemGroupGeometryProperty::StorageInfos::iterator i = properties.storages.begin(); i != properties.storages.end(); ++i)
87 IGeometryProperty::eProperty
property = i->first;
88 if ((properties.computed & property) || (properties.delegated & property))
90 properties.computed |= property;
String m_suffix
suffix for internal variable names
virtual ITraceMng * traceMng()=0
Access to traceMng.
virtual String name() const =0
Nom de la famille.
@ PTemporary
Indique que la variable est temporaire.
@ PPrivate
Indique que la variable est privée.
Internal class implementation for TemisGeometryService and Euclidian3GeometryService.
Groupe d'entités de maillage.
ItemGroupImpl * internal() const
Retourne l'implémentation du groupe.
const String & name() const
Nom du groupe.
IItemFamily * itemFamily() const
Famille d'entité à laquelle appartient ce groupe (0 pour le group nul)
void applyOperation(IItemOperationByBasicType *operation) const
Applique l'opération operation sur les entités du groupe.
eItemKind itemKind() const
Genre du groupe. Il s'agit du genre de ses éléments.
IMesh * mesh() const
Maillage auquel appartient ce groupe (0 pour le group nul)
Lecteur des fichiers de maillage via la bibliothèque LIMA.
virtual IGeometry * geometry()=0
Get underlying geometry.
Paramètres nécessaires à la construction d'une variable.
Exception lorsqu'une erreur fatale est survenue.
Chaîne de caractères unicode.
TraceMessageDbg debug(Trace::eDebugLevel=Trace::Medium) const
Flot pour un message de debug.