Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
core/materials/IMeshMaterial.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/* IMeshMaterial.h (C) 2000-2023 */
9/* */
10/* Interface d'un matériau d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_IMESHMATERIAL_H
13#define ARCANE_CORE_MATERIALS_IMESHMATERIAL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/materials/IMeshComponent.h"
18
19// Cet include n'est pas utile pour ce '.h' mais on le laisse temporairement
20// pour compatibilité avec l'existant (Juin 2022).
21#include "arcane/core/materials/IMeshMaterialMng.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane::Materials
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
35class ARCANE_CORE_EXPORT IUserMeshMaterial
36{
37 public:
38
39 virtual ~IUserMeshMaterial(){}
40};
41
42/*---------------------------------------------------------------------------*/
43/*---------------------------------------------------------------------------*/
51class ARCANE_CORE_EXPORT IMeshMaterial
52: public IMeshComponent
53{
54 public:
55
56 virtual ~IMeshMaterial(){}
57
58 public:
59
61 virtual MeshMaterialInfo* infos() const =0;
62
64 virtual IMeshEnvironment* environment() const =0;
65
67 virtual IUserMeshMaterial* userMaterial() const =0;
68
71
81 virtual MatCell findMatCell(AllEnvCell c) const =0;
82
84 virtual MatItemVectorView matView() const =0;
85
88
91
94
95 public:
96
97 void setImiInfo(Int32 first_imi,Int32 nb_imi)
98 {
99 m_first_imi = first_imi;
100 m_nb_imi = nb_imi;
101 }
102 Int32 firstImi() const { return m_first_imi; }
103 Int32 nbImi() const { return m_nb_imi; }
104
105 protected:
106
107 IMeshMaterial() : m_first_imi(-1), m_nb_imi(0){}
108
109 private:
110
111 Int32 m_first_imi;
112 Int32 m_nb_imi;
113};
114
115/*---------------------------------------------------------------------------*/
116/*---------------------------------------------------------------------------*/
117
118} // End namespace Arcane::Materials
119
120/*---------------------------------------------------------------------------*/
121/*---------------------------------------------------------------------------*/
122
123#endif
124
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Maille arcane avec info matériaux et milieux.
Interface d'un composant (matériau ou milieu) d'un maillage.
Interface d'un matériau d'un maillage.
virtual IMeshEnvironment * environment() const =0
Milieu auquel appartient ce matériau.
virtual MatPartItemVectorView partMatItems(eMatPart part) const =0
Vue sur la partie pure ou impure des entités du matériau.
virtual IUserMeshMaterial * userMaterial() const =0
Matériau utilisateur associé
virtual MatImpurePartItemVectorView impureMatItems() const =0
Vue sur la liste des entités impures (partielles) partielles du matériau.
virtual MeshMaterialInfo * infos() const =0
Infos du matériau.
virtual MatCell findMatCell(AllEnvCell c) const =0
Maille de ce matériau pour la maille c.
virtual MatItemVectorView matView() const =0
Vue associée à ce matériau.
virtual void setUserMaterial(IUserMeshMaterial *umm)=0
Positionne le matériau utilisateur associé
virtual MatPurePartItemVectorView pureMatItems() const =0
Vue sur la liste des entités pures (associées à la maille globale) du matériau.
Interface d'un matériau utilisateur.
Représente un matériau d'une maille multi-matériau.
Vue sur la partie impure des entités d'un matériau.
Vue sur un vecteur sur les entités d'un matériau.
Vue sur une partie pure ou partielles des entités d'un matériau.
Vue sur la partie pure des entités d'un matériau.
Infos d'un matériau d'un maillage.
Active toujours les traces dans les parties Arcane concernant les matériaux.
eMatPart
Partie d'un composant.