Arcane
4.1.12.0
User documentation
Loading...
Searching...
No Matches
IArrayMeshMaterialVariable.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2026 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
/* IArrayMeshMaterialVariable.h (C) 2000-2022 */
9
/* */
10
/* Interface for a scalar material variable. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_MATERIALS_IARRAYMESHMATERIALVARIABLE_H
13
#define ARCANE_MATERIALS_IARRAYMESHMATERIALVARIABLE_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
25
namespace
Arcane::Materials
26
{
27
28
/*---------------------------------------------------------------------------*/
29
/*---------------------------------------------------------------------------*/
30
31
/*!
32
* \internal
33
* \brief Access interface for CellMaterialVariableArrayRef.
34
*/
35
template
<
typename
ItemType,
typename
DataType>
36
class
IArrayMeshMaterialVariable
37
{
38
public
:
39
40
using
ThatInterface =
IArrayMeshMaterialVariable<ItemType, DataType>
;
41
using
ItemTypeType = ItemType;
42
using
DataTypeType = DataType;
43
using
BuilderType =
MeshMaterialVariableBuildTraits<ThatInterface>
;
44
using
VariableRefType =
MeshVariableArrayRefT<ItemType, DataType>
;
45
static
constexpr
int
dimension() {
return
1; }
46
47
public
:
48
49
virtual
~IArrayMeshMaterialVariable
() =
default
;
50
51
public
:
52
53
virtual
ArrayView<Array2View<DataType>
> _internalFullValuesView() = 0;
54
virtual
VariableRefType* globalVariableReference()
const
= 0;
55
virtual
void
incrementReference() = 0;
56
virtual
IMeshMaterialVariable
* toMeshMaterialVariable() = 0;
57
58
virtual
void
resize(
Int32
dim2_size) = 0;
59
};
60
61
/*---------------------------------------------------------------------------*/
62
/*---------------------------------------------------------------------------*/
63
64
}
// End namespace Arcane::Materials
65
66
/*---------------------------------------------------------------------------*/
67
/*---------------------------------------------------------------------------*/
68
69
#endif
Arcane::ArrayView
Modifiable view of an array of type T.
Definition
arccore/src/base/arccore/base/ArrayView.h:96
Arcane::Materials::IArrayMeshMaterialVariable
Definition
IArrayMeshMaterialVariable.h:37
Arcane::Materials::IMeshMaterialVariable
Interface of a material variable on a mesh.
Definition
core/materials/IMeshMaterialVariable.h:48
Arcane::Materials::MeshMaterialVariableBuildTraits
Definition
core/materials/IMeshMaterialVariable.h:232
Arcane::MeshVariableArrayRefT
Array variable on a mesh entity type.
Definition
MeshVariableArrayRef.h:118
Arcane::Materials
Always enables tracing in Arcane parts concerning materials.
Definition
ItemCompatibility.h:27
Arcane::Int32
std::int32_t Int32
Signed integer type of 32 bits.
Definition
ArccoreGlobal.h:233
arcane
core
materials
IArrayMeshMaterialVariable.h
Generated on
for Arcane by
1.16.1