Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
core/materials/IMeshEnvironment.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/* IMeshEnvironment.h (C) 2000-2023 */
9/* */
10/* Interface d'un milieu d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_IMESHENVIRONMENT_H
13#define ARCANE_CORE_MATERIALS_IMESHENVIRONMENT_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/materials/IMeshComponent.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane::Materials
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \ingroup ArcaneMaterials
29 * \brief Interface d'un mmilieu utilisateur.
30 */
31class ARCANE_CORE_EXPORT IUserMeshEnvironment
32{
33 public:
34
35 virtual ~IUserMeshEnvironment(){}
36};
37
38/*---------------------------------------------------------------------------*/
39/*---------------------------------------------------------------------------*/
40/*!
41 * \ingroup ArcaneMaterials
42 * \brief Interface d'un milieu d'un maillage.
43 *
44 * Les milieux sont créés via IMeshEnvironmentMng::createEnvironment().
45 *
46 * Les milieux ne peuvent pas être détruits et tous les milieux et leurs
47 * matériaux doivent être créés lors de l'initialisation.
48 *
49 * Un milieu peut éventuellement être vide.
50 */
51class ARCANE_CORE_EXPORT IMeshEnvironment
52: public IMeshComponent
53{
54 public:
55
56 virtual ~IMeshEnvironment(){}
57
58 public:
59
60 //! Liste des matériaux de ce milieu
62
63 //! Nombre de matériaux dans le milieu
64 virtual Integer nbMaterial() const =0;
65
66 /*!
67 * \brief Identifiant du milieu.
68 * Il s'agit aussi de l'indice (en commencant par 0) de ce milieu
69 * dans la liste des milieux.
70 */
71 //virtual Int32 id() const =0;
72
73 //! Milieu utilisateur associé
75
76 //! Positionne le milieu utilisateur associé
78
79 /*!
80 * \brief Maille de ce milieu pour la maille \a c.
81 *
82 * Si ce milieu n'est pas présent dans la présent dans la maille,
83 * la maille milieu nulle est retournée.
84 *
85 * Le coût de cette fonction est proportionnel au nombre de matériaux
86 * présents dans la maille.
87 */
88 virtual EnvCell findEnvCell(AllEnvCell c) const =0;
89
90 //! Vue associée à ce milieu
91 virtual EnvItemVectorView envView() const =0;
92
93 //! Vue sur la liste des entités pures (associées à la maille globale) du milieu
95
96 //! Vue sur la liste des entités impures (partielles) partielles du milieu
98
99 //! Vue sur la partie pure ou impure des entités du milieu
101};
102
103/*---------------------------------------------------------------------------*/
104/*---------------------------------------------------------------------------*/
105
106} // End namespace Arcane::Materials
107
108/*---------------------------------------------------------------------------*/
109/*---------------------------------------------------------------------------*/
110
111#endif
112
Maille arcane avec info matériaux et milieux.
Maille arcane d'un milieu.
Vue sur un vecteur sur les entités d'un milieu.
Vue sur une partie pure ou partielles des entités d'un milieu.
Interface d'un composant (matériau ou milieu) d'un maillage.
virtual EnvPartItemVectorView partEnvItems(eMatPart part) const =0
Vue sur la partie pure ou impure des entités du milieu.
virtual IUserMeshEnvironment * userEnvironment() const =0
Identifiant du milieu. Il s'agit aussi de l'indice (en commencant par 0) de ce milieu dans la liste d...
virtual EnvImpurePartItemVectorView impureEnvItems() const =0
Vue sur la liste des entités impures (partielles) partielles du milieu.
virtual ConstArrayView< IMeshMaterial * > materials()=0
Liste des matériaux de ce milieu.
virtual Integer nbMaterial() const =0
Nombre de matériaux dans le milieu.
virtual EnvItemVectorView envView() const =0
Vue associée à ce milieu.
virtual EnvCell findEnvCell(AllEnvCell c) const =0
Maille de ce milieu pour la maille c.
virtual void setUserEnvironment(IUserMeshEnvironment *umm)=0
Positionne le milieu utilisateur associé
virtual EnvPurePartItemVectorView pureEnvItems() const =0
Vue sur la liste des entités pures (associées à la maille globale) du milieu.
Vue constante d'un tableau de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.
eMatPart
Partie d'un composant.