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"
33class MeshMaterialVariableFactoryMng
40 ~MeshMaterialVariableFactoryMng()
override;
44 void build()
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 de traces.
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.
Référence à une instance.
Chaîne de caractères unicode.
Classe d'accès aux traces.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
ITraceMng * traceMng() const
Gestionnaire de trace.
Active toujours les traces dans les parties Arcane concernant les matériaux.