Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MeshBlockBuildInfo.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/* MeshBlockBuildInfo.h (C) 2000-2013 */
9/* */
10/* Informations pour la création d'un bloc. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_MESHBLOCKBUILDINFO_H
13#define ARCANE_MATERIALS_MESHBLOCKBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18#include "arcane/utils/Array.h"
19#include "arcane/ItemGroup.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25ARCANE_BEGIN_NAMESPACE
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30MATERIALS_BEGIN_NAMESPACE
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35class IMeshMaterialMng;
36class IMeshEnvironment;
37
38/*---------------------------------------------------------------------------*/
39/*---------------------------------------------------------------------------*/
40/*!
41 * \ingroup ArcaneMaterials
42 * \brief Informations pour la création d'un bloc.
43 *
44 * Cette instance contient les infos nécessaire à la création d'un bloc.
45 *
46 * Pour plus d'infos, se reporter à IMeshBlock.
47 *
48
49 * Une fois les informations spécifiées de création spécifiées, il faut créer le bloc
50 * via IMeshMaterialMng::createBlock().
51 */
52class ARCANE_MATERIALS_EXPORT MeshBlockBuildInfo
53{
54 public:
55
56 //! Créé les informations pour un bloc de nom \a name sur les mailles \a cells.
57 MeshBlockBuildInfo(const String& name,const CellGroup& cells);
59
60 public:
61
62 //! Nom du bloc
63 const String& name() const { return m_name; }
64
65 //! Liste des entités du bloc
66 const CellGroup& cells() const { return m_cells; }
67
68 /*!
69 * \brief Ajoute le milieu \a env au bloc
70 *
71 * Le milieu doit déjà avoir été créé via
72 * IMeshMaterialMng::createEnvironment().
73 */
74 void addEnvironment(IMeshEnvironment* env);
75
76 public:
77
78 //! Liste des milieux du bloc.
80 {
81 return m_environments;
82 }
83
84 private:
85
86 String m_name;
87 CellGroup m_cells;
88 UniqueArray<IMeshEnvironment*> m_environments;
89};
90
91/*---------------------------------------------------------------------------*/
92/*---------------------------------------------------------------------------*/
93
94/*---------------------------------------------------------------------------*/
95/*---------------------------------------------------------------------------*/
96
97MATERIALS_END_NAMESPACE
98ARCANE_END_NAMESPACE
99
100/*---------------------------------------------------------------------------*/
101/*---------------------------------------------------------------------------*/
102
103#endif
104
Informations pour la création d'un bloc.
ConstArrayView< IMeshEnvironment * > environments() const
Liste des milieux du bloc.
const CellGroup & cells() const
Liste des entités du bloc.
const String & name() const
Nom du bloc.
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).