Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
core/materials/MatItemVector.h
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/* MatItemVector.h (C) 2000-2024 */
9/* */
10/* Vecteur sur les entités d'un matériau. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_MATITEMVECTOR_H
13#define ARCANE_CORE_MATERIALS_MATITEMVECTOR_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/materials/ComponentItemVector.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane::Materials
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Vecteur sur les entités d'un matériau.
29 *
30 * \warning Ce vecteur n'est valide que tant que le matériau et le groupe support
31 * ne change pas.
32 */
33class ARCANE_CORE_EXPORT MatCellVector
35{
36 public:
37
38 typedef MatCellEnumerator EnumeratorType;
39
40 public:
41
42 //! Construit un vecteur contenant les entités de \a group pour le matériau \a material.
44 //! Construit un vecteur contenant les entités de \a view pour le matériau \a material.
46 //! Construit un vecteur contenant les entités \a local_ids pour le matériau \a material.
48 //! Constructeur par recopie. L'instance fera référence à \a rhs
49 MatCellVector(const MatCellVector& rhs) = default;
50 //! Constructeur de recopie. Cette instance est une copie de \a rhs.
54
55 public:
56
57 //! Conversion vers une vue sur ce vecteur
58 operator MatCellVectorView() const
59 {
60 return view();
61 }
62
63 //! Vue sur ce vecteur
65 {
66 return { _component(), _matvarIndexes(), _constituentItemListView(), _localIds() };
67 }
68
69 //! Matériau associé
70 IMeshMaterial* material() const;
71
72 //! Clone ce vecteur
73 MatCellVector clone() const { return { view() }; }
74
75 private:
76
77 void _build(SmallSpan<const Int32> view);
78};
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83} // End namespace Arcane::Materials
84
85/*---------------------------------------------------------------------------*/
86/*---------------------------------------------------------------------------*/
87
88#endif
89
ComponentItemVector(const ComponentItemVector &rhs)=default
Constructeur de recopie. Cette instance fait ensuite référence à rhs.
Interface d'un matériau d'un maillage.
Enumérateur sur une partie des mailles d'un seul matériau.
MatCellVector(const MatCellVector &rhs)=default
Constructeur par recopie. L'instance fera référence à rhs.
MatCellVector clone() const
Clone ce vecteur.
IMeshMaterial * material() const
Matériau associé
MatCellVectorView view() const
Vue sur ce vecteur.
MatCellVector(const CellGroup &group, IMeshMaterial *material)
Construit un vecteur contenant les entités de group pour le matériau material.
MatCellVector(MatItemVectorView rhs)
Constructeur de recopie. Cette instance est une copie de rhs.
Vue sur un vecteur sur les entités d'un matériau.
Vue d'un tableau d'éléments de type T.
Definition Span.h:673
ItemGroupT< Cell > CellGroup
Groupe de mailles.
Definition ItemTypes.h:183
ItemVectorViewT< Cell > CellVectorView
Vue sur un vecteur de mailles.
Definition ItemTypes.h:304
Active toujours les traces dans les parties Arcane concernant les matériaux.
MatItemVectorView MatCellVectorView
Type de la vue sur un MatCellVector.