Arcane  v3.16.9.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
core/materials/EnvItemVector.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* EnvItemVector.h (C) 2000-2025 */
9/* */
10/* Vecteur sur les entités d'un milieu. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_ENVITEMVECTOR_H
13#define ARCANE_CORE_MATERIALS_ENVITEMVECTOR_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 milieu.
29 *
30 * \warning Ce vecteur n'est valide que tant que le milieu ne change pas.
31 */
32class ARCANE_CORE_EXPORT EnvCellVector
34{
35 public:
36
37 //! Construit un vecteur contenant les entités de \a group pour le milieu \a environment
39 //! Construit un vecteur contenant les entités de \a view pour le milieu \a environment
41 //! Construit un vecteur contenant les entités \a local_ids pour le milieu \a environment
43 //! Construit un vecteur sur les entités du milieu \a environment.
45 //! Constructeur par recopie. L'instance fera référence à \a rhs
46 EnvCellVector(const EnvCellVector& rhs) = default;
47 //! Constructeur de recopie. Cette instance est une copie de \a rhs.
51
52 public:
53
54 //! Conversion vers une vue sur ce vecteur
55 operator EnvCellVectorView() const
56 {
57 return view();
58 }
59
60 //! Vue sur ce vecteur
62 {
63 return { _component(), _matvarIndexes(), _constituentItemListView(), _localIds() };
64 }
65
66 //! Milieu associé
67 IMeshEnvironment* environment() const;
68
69 //! Clone ce vecteur
70 EnvCellVector clone() const { return { view() }; }
71
72 private:
73
74 void _build(SmallSpan<const Int32> view);
75};
76
77/*---------------------------------------------------------------------------*/
78/*---------------------------------------------------------------------------*/
79
80} // End namespace Arcane::Materials
81
82/*---------------------------------------------------------------------------*/
83/*---------------------------------------------------------------------------*/
84
85#endif
86
ComponentItemVector(const ComponentItemVector &rhs)=default
Constructeur de recopie. Cette instance fait ensuite référence à rhs.
Options de construction pour 'ComponentItemVector' et l.
IMeshEnvironment * environment() const
Milieu associé
EnvCellVector(const CellGroup &group, IMeshEnvironment *environment)
Construit un vecteur contenant les entités de group pour le milieu environment.
EnvCellVector(EnvItemVectorView rhs)
Constructeur de recopie. Cette instance est une copie de rhs.
EnvCellVector clone() const
Clone ce vecteur.
EnvCellVectorView view() const
Vue sur ce vecteur.
EnvCellVector(const EnvCellVector &rhs)=default
Constructeur par recopie. L'instance fera référence à rhs.
Vue sur un vecteur sur les entités d'un milieu.
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.
EnvItemVectorView EnvCellVectorView
Type de la vue sur un EnvCellVector.