14#include "arcane/materials/MeshMaterialVariableFactoryRegisterer.h"
16#include "arcane/utils/Ref.h"
17#include "arcane/core/materials/IMeshMaterialVariableFactory.h"
28class MeshMaterialVariableFactory
31 using CreateFunc = MeshMaterialVariableFactoryVariableRefCreateFunc;
37 : m_variable_type_info(var_type_info)
45 return (*m_function)(build_info);
50 return m_variable_type_info;
56 CreateFunc m_function;
62typename MeshMaterialVariableFactoryRegisterer::BaseInfo MeshMaterialVariableFactoryRegisterer::m_global_infos;
64typename MeshMaterialVariableFactoryRegisterer::BaseInfo& MeshMaterialVariableFactoryRegisterer::
67 return m_global_infos;
#define ARCANE_CHECK_POINTER(ptr)
Macro returning the pointer ptr if it is not null or throwing an exception if it is null.
Interface of a material variable factory.
Interface of a material variable on a mesh.
Information characterizing the type of a material variable.
Ref< IMeshMaterialVariableFactory > createFactory()
Creates a factory for this variable type.
MeshMaterialVariableFactoryFunc m_function
Creation function of the IMeshMaterialVariableFactoryFactory.
MaterialVariableTypeInfo m_variable_type_info
Information about the variable type.
MaterialVariableTypeInfo materialVariableTypeInfo() const override
Information about the created variable type.
IMeshMaterialVariable * createVariable(const MaterialVariableBuildInfo &build_info) override
Create a material variable.
Reference to an instance.
Always enables tracing in Arcane parts concerning materials.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Creates a reference on a pointer.