14#include "arcane/utils/TraceAccessor.h"
15#include "arcane/utils/FatalErrorException.h"
17#include "arcane/core/materials/MaterialVariableTypeInfo.h"
18#include "arcane/core/materials/IMeshMaterialVariableFactory.h"
19#include "arcane/core/materials/IMeshMaterialVariableFactoryMng.h"
20#include "arcane/core/materials/IMeshMaterialMng.h"
44 void build()
override;
46 void registerFactory(Ref<IMeshMaterialVariableFactory> factory)
override;
52 std::map<String, Ref<IMeshMaterialVariableFactory>> m_factories;
58MeshMaterialVariableFactoryMng::
67MeshMaterialVariableFactoryMng::
68~MeshMaterialVariableFactoryMng()
78 auto x = m_factories.find(storage_type);
79 if (x == m_factories.end())
80 ARCANE_FATAL(
"Can not find mesh IMeshMaterialVariableFactory named={0}", storage_type);
82 return x->second->createVariable(build_info);
109 m_factories.insert(std::make_pair(t.
fullName(), factory));
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Interface du gestionnaire des matériaux et des milieux d'un maillage.
Interface d'une variable matériau d'un maillage.
Informations caractérisant le type d'une variable matériau.
String fullName() const
Nom complet du type de la variable.
IMeshMaterialVariable * createVariable(const String &storage_type, const MaterialVariableBuildInfo &build_info) override
Créé une variable matériau.
ITraceMng * traceMng() const override
Gestionnaire de trace associé
void build() override
Construit l'instance.
void registerFactory(Ref< IMeshMaterialVariableFactory > factory) override
Enregistre la fabrique factory.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
Classe d'accès aux traces.
ITraceMng * traceMng() const
Gestionnaire de trace.
Active toujours les traces dans les parties Arcane concernant les matériaux.