Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IScalarMeshMaterialVariable.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* IScalarMeshMaterialVariable.h (C) 2000-2022 */
9/* */
10/* Interface d'une variable matériau scalaire. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_ISCALARMESHMATERIALVARIABLE_H
13#define ARCANE_MATERIALS_ISCALARMESHMATERIALVARIABLE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/NotImplementedException.h"
18#include "arcane/utils/Array.h"
19
20#include "arcane/core/materials/MaterialsCoreGlobal.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane::Materials
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30/*!
31 * \internal
32 * \brief Interface d'accès pour CellMaterialVariableScalarRef.
33 */
34template<typename ItemType,typename DataType>
36{
37 public:
38
40 using ItemTypeType = ItemType;
41 using DataTypeType = DataType;
42 using VariableRefType = MeshVariableScalarRefT<ItemType,DataType>;
44 static constexpr int dimension() { return 0; }
45
46 public:
47
48 virtual ~IScalarMeshMaterialVariable() = default;
49
50 public:
51
52 virtual ArrayView<ArrayView<DataType>> _internalFullValuesView() = 0;
53 virtual void fillFromArray(IMeshMaterial* mat,ConstArrayView<DataType> values) =0;
54 virtual void fillFromArray(IMeshMaterial* mat,ConstArrayView<DataType> values,Int32ConstArrayView indexes) =0;
55 virtual void fillToArray(IMeshMaterial* mat,ArrayView<DataType> values) =0;
56 virtual void fillToArray(IMeshMaterial* mat,ArrayView<DataType> values,Int32ConstArrayView indexes) =0;
57 virtual void fillPartialValues(const DataType& value) =0;
58 virtual VariableRefType* globalVariableReference() const =0;
59 virtual void incrementReference() =0;
60 virtual IMeshMaterialVariable* toMeshMaterialVariable() =0;
61};
62
63/*---------------------------------------------------------------------------*/
64/*---------------------------------------------------------------------------*/
65
66} // End namespace Arcane::Materials
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71#endif
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Interface d'une variable matériau d'un maillage.
Interface d'un matériau d'un maillage.
Classe pour gérer la création du type concret de la variable matériaux.
Variable scalaire sur un type d'entité du maillage.
Active toujours les traces dans les parties Arcane concernant les matériaux.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:569