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
16using namespace Arcane::Numerics;
17
18ARCANE_BEGIN_NAMESPACE
19NUMERICS_BEGIN_NAMESPACE
20
23{
24public:
27
30public:
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
60template<typename T>
62
63template<>
65{
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
72template<>
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
80NUMERICS_END_NAMESPACE
81ARCANE_END_NAMESPACE
82
83#endif /* ARCGEOSIM_GEOMETRY_IMPL_ITEMGROUPGEOMETRYPROPERTY_H */
Modéle générique (vide) des accès de StorageInfo par type de stockage.
Internal class implementation for TemisGeometryService and Euclidian3GeometryService.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Int32 Integer
Type représentant un entier.
std::uint32_t UInt32
Type entier non signé sur 32 bits.