Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MeshMaterialInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* MeshMaterialInfo.h (C) 2000-2022 */
9/* */
10/* Informations d'un matériau d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_MESHMATERIALINFO_H
13#define ARCANE_MATERIALS_MESHMATERIALINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18#include "arcane/utils/Array.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane::Materials
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29/*!
30 * \brief Infos d'un matériau d'un maillage.
31 *
32 * Cette instance contient les infos d'un matériau.
33 * Ces informations sont statiques. Les instances de cette classe ne
34 * doivent pas être créées directement. Elles le sont via l'appel à
35 * IMeshMaterialMng::registerMaterialInfo().
36 */
38{
39 friend class MeshMaterialMng;
40
41 private:
42
44 virtual ~MeshMaterialInfo() = default;
45
46 public:
47
48 //! Gestionnaire associé.
49 IMeshMaterialMng* materialMng() { return m_material_mng; }
50
51 //! Nom du matériau.
52 String name() const { return m_name; }
53
54 //! Nom des milieux dans lequel ce matériau est présent
55 ConstArrayView<String> environmentsName() const { return m_environments_name; }
56
57 protected:
58
59 void _addEnvironment(const String& env_name)
60 {
61 m_environments_name.add(env_name);
62 }
63
64 private:
65
66 IMeshMaterialMng* m_material_mng;
67 String m_name;
68 //! Liste des milieux auquel le matériau appartient
69 UniqueArray<String> m_environments_name;
70};
71
72/*---------------------------------------------------------------------------*/
73/*---------------------------------------------------------------------------*/
74
75} // End namespace Arcane::Materials
76
77/*---------------------------------------------------------------------------*/
78/*---------------------------------------------------------------------------*/
79
80#endif
81
Interface du gestionnaire des matériaux et des milieux d'un maillage.
Infos d'un matériau d'un maillage.
ConstArrayView< String > environmentsName() const
Nom des milieux dans lequel ce matériau est présent.
IMeshMaterialMng * materialMng()
Gestionnaire associé.
String name() const
Nom du matériau.
void add(ConstReferenceType val)
Ajoute l'élément val à la fin du tableau.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
Vecteur 1D de données avec sémantique par valeur (style STL).
Active toujours les traces dans les parties Arcane concernant les matériaux.