Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MeshEnvironmentBuildInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 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/* MeshEnvironmentBuildInfo.h (C) 2000-2023 */
9/* */
10/* Informations pour la création d'un milieu. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_MESHENVIRONMENTBUILDINFO_H
13#define ARCANE_MATERIALS_MESHENVIRONMENTBUILDINFO_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 * \ingroup ArcaneMaterials
31 * \brief Informations pour la création d'un milieu.
32 *
33 * Cette instance contient les infos nécessaire à la création d'un milieu.
34 * Une fois les informations spécifiées, il faut créer le milieu
35 * via IMeshMaterialMng::createEnvironment().
36 *
37 * Pour l'instant, la seule information pertinante sur un milieu est son
38 * nom et la liste des matériaux le composant.
39 */
40class ARCANE_MATERIALS_EXPORT MeshEnvironmentBuildInfo
41{
42 public:
43 class MatInfo
44 {
45 public:
46 MatInfo(const String& name) : m_name(name){}
47 public:
48 String m_name;
49 public:
50 // Le constructeur vide ne doit pas être dispo mais ca plante à
51 // la compilation avec VS2010 s'il est absent
52 MatInfo() {}
53 };
54 public:
55
58
59 public:
60
61 //! Nom du milieu
62 const String& name() const { return m_name; }
63
64 /*!
65 * \brief Ajoute le matériau de nom \a name au milieu
66 *
67 * Le matériau doit déjà avoir été enregistré via
68 * IMeshMaterialMng::registerMaterialInfo().
69 */
70 void addMaterial(const String& name);
71
72 public:
73
74 /*!
75 * \internal
76 * Liste des matériaux.
77 */
78 ConstArrayView<MatInfo> materials() const
79 {
80 return m_materials;
81 }
82
83 private:
84
85 String m_name;
86 UniqueArray<MatInfo> m_materials;
87
88 void _checkValid(const String& name);
89};
90
91/*---------------------------------------------------------------------------*/
92/*---------------------------------------------------------------------------*/
93
94}
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
98
99#endif
100
Informations pour la création d'un milieu.
const String & name() const
Nom du milieu.
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.