Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ComponentItemVectorView.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* ComponentItemVectorView.cc (C) 2000-2024 */
9/* */
10/* Vue sur un vecteur sur des entités composants. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arcane/core/materials/ComponentItemVectorView.h"
15
16#include "arcane/utils/NotImplementedException.h"
17#include "arcane/utils/ArgumentException.h"
18
19#include "arcane/core/materials/IMeshMaterial.h"
20#include "arcane/core/materials/IMeshEnvironment.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane::Materials
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
32material() const
33{
34 return static_cast<IMeshMaterial*>(component());
35}
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
41environment() const
42{
43 return static_cast<IMeshEnvironment*>(component());
44}
45
46/*---------------------------------------------------------------------------*/
47/*---------------------------------------------------------------------------*/
48
49/*---------------------------------------------------------------------------*/
50/*---------------------------------------------------------------------------*/
51
53_subView(Integer begin,Integer size)
54{
55 Integer nb_total = nbItem();
56
57 // Pas d'éléments, retourne un tableau vide
58 if (nb_total==0){
59 return ComponentItemVectorView(m_component);
60 }
61
62 if (begin>=nb_total){
63 // Indice de début supérieur au nombre d'éléments.
64 ARCANE_THROW(ArgumentException,"Bad 'begin' value '{0}' total={1}",begin,nb_total);
65 }
66
67 ConstituentItemLocalIdListView mn = m_constituent_list_view._subView(begin, size);
68 ConstArrayView<MatVarIndex> mvs = _matvarIndexes().subView(begin,size);
70
71 return { m_component, mvs, mn, ids };
72}
73
74/*---------------------------------------------------------------------------*/
75/*---------------------------------------------------------------------------*/
76
78_subView(Integer begin,Integer size)
79{
80 return { component(), ComponentItemVectorView::_subView(begin, size) };
81}
82
83/*---------------------------------------------------------------------------*/
84/*---------------------------------------------------------------------------*/
85
87_subView(Integer begin,Integer size)
88{
89 return { component(), ComponentItemVectorView::_subView(begin, size) };
90}
91
92/*---------------------------------------------------------------------------*/
93/*---------------------------------------------------------------------------*/
94
95} // End namespace Arcane::Materials
96
97/*---------------------------------------------------------------------------*/
98/*---------------------------------------------------------------------------*/
#define ARCANE_THROW(exception_class,...)
Macro pour envoyer une exception avec formattage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Vue sur un vecteur sur les entités d'un composant.
ComponentItemVectorView _subView(Integer begin, Integer size)
Créé une sous-vue de cette vue.
ConstArrayView< Int32 > _internalLocalIds() const
Tableau des localId() des entités associées.
Integer nbItem() const
Nombre d'entités dans la vue.
Vue sur une instance de ConstituentItemLocalIdList.
Vue sur un vecteur sur les entités d'un milieu.
EnvItemVectorView _subView(Integer begin, Integer size)
Créé une sous-vue de cette vue.
IMeshEnvironment * environment() const
Milieu associé
Interface d'un matériau d'un maillage.
Vue sur un vecteur sur les entités d'un matériau.
MatItemVectorView _subView(Integer begin, Integer size)
Créé une sous-vue de cette vue.
IMeshMaterial * material() const
Matériau associé
Exception lorsqu'un argument est invalide.
constexpr ConstArrayView< T > subView(Integer abegin, Integer asize) const noexcept
Sous-vue (constante) à partir de l'élément abegin et contenant asize éléments.
Active toujours les traces dans les parties Arcane concernant les matériaux.