Arcane  v3.15.3.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;
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
Interface d'une variable matériau d'un maillage.
Interface d'un matériau d'un maillage.
Variable scalaire sur un type d'entité du maillage.
Vue constante d'un tableau de type T.
Référence à une instance.
Active toujours les traces dans les parties Arcane concernant les matériaux.