Arcane  v3.15.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
core/materials/IMeshBlock.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/* IMeshBlock.h (C) 2000-2022 */
9/* */
10/* Interface d'un bloc d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_IMESHBLOCK_H
13#define ARCANE_CORE_MATERIALS_IMESHBLOCK_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ItemTypes.h"
18#include "arcane/core/materials/MaterialsCoreGlobal.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane::Materials
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \ingroup ArcaneMaterials
30 * \brief Interface d'un bloc d'un maillage.
31 *
32 * Les blocs sont créés via IMeshMaterialMng::createBlock().
33 *
34 * Les blocs ne peuvent pas être détruits et doivent être créés lors
35 * de l'initialisation.
36 *
37 * La notion de bloc est optionnelle et il n'est pas nécessaire d'avoir
38 * des blocs pour utiliser les milieux et les matériaux.
39 *
40 * Un bloc se caractérise par un nom (name()), un groupe de mailles (cells())
41 * et une liste de milieux (environments()).
42 *
43 * A noter qu'en théorie le groupe de mailles (cells())
44 * est indépendant de la liste des milieux mais que pour des raisons de
45 * cohérence, il est préférable que ce groupe corresponde à l'union des
46 * milieux du bloc. Cependant, aucune vérification de cette cohérence n'est effectuée.
47 *
48 * Il est possible d'utiliser une instance ce cette classe comme argument à
49 * ENUMERATE_ENV ou à ENUMERATE_ALLENVCELL.
50 */
51class ARCANE_CORE_EXPORT IMeshBlock
52{
53 public:
54
55 virtual ~IMeshBlock(){}
56
57 public:
58
59 //! Gestionnaire associé.
61
62 //! Nom du bloc
63 virtual const String& name() const =0;
64
65 /*!
66 * \brief Groupe des mailles de ce bloc.
67 */
68 virtual const CellGroup& cells() const =0;
69
70 //! Liste des milieux de ce bloc
72
73 //! Nombre de milieux dans le bloc
74 virtual Integer nbEnvironment() const =0;
75
76 /*!
77 * \brief Identifiant du bloc.
78 * Il s'agit aussi de l'indice (en commencant par 0) de ce bloc
79 * dans la liste des blocs.
80 */
81 virtual Int32 id() const =0;
82
83 //! Vue sur les mailles milieux correspondant à ce bloc.
85};
86
87/*---------------------------------------------------------------------------*/
88/*---------------------------------------------------------------------------*/
89
90} // End namespace Arcane::Materials
91
92/*---------------------------------------------------------------------------*/
93/*---------------------------------------------------------------------------*/
94
95#endif
96
Interface d'un bloc d'un maillage.
virtual IMeshMaterialMng * materialMng()=0
Gestionnaire associé.
virtual Int32 id() const =0
Identifiant du bloc. Il s'agit aussi de l'indice (en commencant par 0) de ce bloc dans la liste des b...
virtual AllEnvCellVectorView view()=0
Vue sur les mailles milieux correspondant à ce bloc.
virtual ConstArrayView< IMeshEnvironment * > environments()=0
Liste des milieux de ce bloc.
virtual Integer nbEnvironment() const =0
Nombre de milieux dans le bloc.
virtual const CellGroup & cells() const =0
Groupe des mailles de ce bloc.
virtual const String & name() const =0
Nom du bloc.
Interface du gestionnaire des matériaux et des milieux d'un maillage.
Référence à une instance.
Chaîne de caractères unicode.
Active toujours les traces dans les parties Arcane concernant les matériaux.