Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
IMeshMaterialVariableFactoryMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IMeshMaterialVariableFactoryMng.h (C) 2000-2025 */
9/* */
10/* Interface of the material variable factory manager. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_IMESHMATERIALVARIABLEFACTORYMNG_H
13#define ARCANE_CORE_MATERIALS_IMESHMATERIALVARIABLEFACTORYMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/core/materials/MaterialsCoreGlobal.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane::Materials
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29/*!
30 * \internal
31 * \brief Interface of the material variable factory manager.
32 */
33class ARCANE_CORE_EXPORT IMeshMaterialVariableFactoryMng
34{
35 public:
36
37 virtual ~IMeshMaterialVariableFactoryMng() = default;
38
39 public:
40
41 //! Builds the instance
42 virtual void build() = 0;
43
44 //! Associated trace manager
45 virtual ITraceMng* traceMng() const = 0;
46
47 //! Registers the factory \a factory.
49
50 //! Creates a material variable.
52 createVariable(const String& storage_type,
53 const MaterialVariableBuildInfo& build_info) = 0;
54};
55
56/*---------------------------------------------------------------------------*/
57/*---------------------------------------------------------------------------*/
58
59} // End namespace Arcane::Materials
60
61/*---------------------------------------------------------------------------*/
62/*---------------------------------------------------------------------------*/
63
64#endif
Declarations of Arcane's general types.
virtual ITraceMng * traceMng() const =0
Associated trace manager.
virtual void build()=0
Builds the instance.
virtual IMeshMaterialVariable * createVariable(const String &storage_type, const MaterialVariableBuildInfo &build_info)=0
Creates a material variable.
virtual void registerFactory(Ref< IMeshMaterialVariableFactory > factory)=0
Registers the factory factory.
Interface of a material variable on a mesh.
Reference to an instance.
Always enables tracing in Arcane parts concerning materials.