Arcane
v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemGroupGeometryProperty.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
#ifndef ARCGEOSIM_GEOMETRY_IMPL_ITEMGROUPGEOMETRYPROPERTY_H
8
#define ARCGEOSIM_GEOMETRY_IMPL_ITEMGROUPGEOMETRYPROPERTY_H
9
/* Author : havep at Tue Apr 1 17:25:52 2008
10
* Generated by createNew
11
*/
12
13
#include "arcane/geometry/IGeometryMng.h"
14
#include <map>
15
16
using namespace
Arcane::Numerics;
17
18
ARCANE_BEGIN_NAMESPACE
19
NUMERICS_BEGIN_NAMESPACE
20
22
class
ItemGroupGeometryProperty
23
{
24
public
:
26
ItemGroupGeometryProperty
();
27
29
virtual
~ItemGroupGeometryProperty
();
30
public
:
31
32
struct
StorageInfo
{
33
StorageInfo
() : storageType(0), externStorage(0), ownStorage(0), usageVarCount(0), usageMapCount(0) { }
34
Integer
storageType;
35
Integer
externStorage;
36
Integer
ownStorage;
37
UInt32
usageVarCount;
38
UInt32
usageMapCount;
39
std::shared_ptr<IGeometryMng::RealVariable> realVar;
40
std::shared_ptr<IGeometryMng::Real3Variable> real3Var;
41
//boost::shared_ptr<IGeometryMng::RealGroupMap> realMap;
42
//boost::shared_ptr<IGeometryMng::Real3GroupMap> real3Map;
43
};
44
45
typedef
std::map<IGeometryProperty::eProperty, StorageInfo> StorageInfos;
46
47
Integer
defined;
48
Integer
computed;
49
Integer
delegated;
50
StorageInfos storages;
51
52
bool
hasProperty(
const
IGeometryProperty::eProperty
p
)
const
;
53
Integer
getStorage(
const
IGeometryProperty::eProperty
p
)
const
;
54
void
resetFlags();
55
};
56
57
58
60
template
<
typename
T>
61
class
ContainerAccessorT
{ };
62
63
template
<>
64
struct
ContainerAccessorT
<
Real
>
65
{
66
typedef
IGeometryMng::RealVariable
RealTVariable
;
67
//typedef IGeometryMng::RealGroupMap RealTGroupMap;
68
inline
static
std::shared_ptr<RealTVariable> & getVarContainer(
ItemGroupGeometryProperty::StorageInfo
& storage) {
return
storage.realVar; }
69
//inline static boost::shared_ptr<RealTGroupMap> & getMapContainer(ItemGroupGeometryProperty::StorageInfo & storage) { return storage.realMap; }
70
};
71
72
template
<>
73
struct
ContainerAccessorT
<
Real3
> {
74
typedef
IGeometryMng::Real3Variable
RealTVariable
;
75
//typedef IGeometryMng::Real3GroupMap RealTGroupMap;
76
inline
static
std::shared_ptr<RealTVariable> & getVarContainer(
ItemGroupGeometryProperty::StorageInfo
& storage) {
return
storage.real3Var; }
77
//inline static boost::shared_ptr<RealTGroupMap> & getMapContainer(ItemGroupGeometryProperty::StorageInfo & storage) { return storage.real3Map; }
78
};
79
80
NUMERICS_END_NAMESPACE
81
ARCANE_END_NAMESPACE
82
83
#endif
/* ARCGEOSIM_GEOMETRY_IMPL_ITEMGROUPGEOMETRYPROPERTY_H */
Arcane::ContainerAccessorT
Modéle générique (vide) des accès de StorageInfo par type de stockage.
Definition
ItemGroupGeometryProperty.h:61
Arcane::ItemGroupGeometryProperty
Internal class implementation for TemisGeometryService and Euclidian3GeometryService.
Definition
ItemGroupGeometryProperty.h:23
Arcane::ItemGroupGeometryProperty::ItemGroupGeometryProperty
ItemGroupGeometryProperty()
Definition
ItemGroupGeometryProperty.cc:19
Arcane::ItemGroupGeometryProperty::~ItemGroupGeometryProperty
virtual ~ItemGroupGeometryProperty()
Definition
ItemGroupGeometryProperty.cc:28
Arcane::ItemVariableScalarRefT< Real >
Arcane::LimaWrapper
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition
Lima.cc:120
Arcane::Real3
Classe gérant un vecteur de réel de dimension 3.
Definition
Real3.h:132
Arccore::Integer
Int32 Integer
Type représentant un entier.
Definition
ArccoreGlobal.h:240
Arccore::UInt32
std::uint32_t UInt32
Type entier non signé sur 32 bits.
Definition
ArccoreGlobal.h:188
Arcane::ItemGroupGeometryProperty::StorageInfo
Definition
ItemGroupGeometryProperty.h:32
arcane
geometry
impl
ItemGroupGeometryProperty.h
Généré le Lundi 18 Novembre 2024 03:01:30 pour Arcane par
1.9.8