Arcane  v3.14.10.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.
Classe pour gérer la création du type concret de la variable matériaux.
Variable scalaire sur un type d'entité du maillage.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.