Arcane
v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
GeomShapeMutableView.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
/* GeomShapeMutableView.h (C) 2000-2014 */
9
/* */
10
/* Vue modifiable sur un GeomShape. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_GEOMETRIC_GEOMSHAPEMUTABLEVIEW_H
13
#define ARCANE_GEOMETRIC_GEOMSHAPEMUTABLEVIEW_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/utils/ITraceMng.h"
18
#include "arcane/utils/ArrayView.h"
19
#include "arcane/utils/Real3.h"
20
21
#include "arcane/Item.h"
22
23
#include "arcane/geometric/GeometricConnectic.h"
24
#include "arcane/geometric/GeomElement.h"
25
#include "arcane/geometric/CellConnectivity.h"
26
27
/*---------------------------------------------------------------------------*/
28
/*---------------------------------------------------------------------------*/
29
30
ARCANE_BEGIN_NAMESPACE
31
GEOMETRIC_BEGIN_NAMESPACE
32
33
/*---------------------------------------------------------------------------*/
34
/*---------------------------------------------------------------------------*/
35
36
class
GeomShapeConnectivity;
37
38
/*---------------------------------------------------------------------------*/
39
/*---------------------------------------------------------------------------*/
50
class
GeomShapeMutableView
51
{
52
public
:
53
54
friend
class
GeomShapeMng
;
55
friend
class
GeomShape
;
56
57
public
:
58
59
GeomShapeMutableView
()
60
: m_node_ptr(0), m_face_ptr(0), m_center_ptr(0){}
61
62
private
:
63
64
GeomShapeMutableView
(
Real3
*
node_ptr
,
Real3
*
face_ptr
,
Real3
*
center_ptr
)
65
: m_node_ptr(
node_ptr
), m_face_ptr(
face_ptr
), m_center_ptr(
center_ptr
){}
66
67
public
:
68
69
inline
const
Real3
node(Integer
id
)
const
70
{
71
return
m_node_ptr[id];
72
}
73
74
inline
const
Real3
face(Integer
id
)
const
75
{
76
return
m_face_ptr[id];
77
}
78
79
inline
const
Real3
center()
const
80
{
81
return
*m_center_ptr;
82
}
83
84
inline
void
setNode(Integer
id
,
const
Real3
& v)
85
{
86
m_node_ptr[id] = v;
87
}
88
89
inline
void
setFace(Integer
id
,
const
Real3
& v)
90
{
91
m_face_ptr[id] = v;
92
}
93
94
inline
void
setCenter(
const
Real3
& v)
95
{
96
(*m_center_ptr) = v;
97
}
98
99
private
:
100
101
Real3
* m_node_ptr;
102
Real3
* m_face_ptr;
103
Real3
* m_center_ptr;
104
105
private
:
106
107
inline
void
_setArray(
Real3
*
node_ptr
,
Real3
*
face_ptr
,
Real3
*
center_ptr
)
108
{
109
m_node_ptr =
node_ptr
;
110
m_face_ptr =
face_ptr
;
111
m_center_ptr =
center_ptr
;
112
}
113
};
114
115
/*---------------------------------------------------------------------------*/
116
/*---------------------------------------------------------------------------*/
117
118
GEOMETRIC_END_NAMESPACE
119
ARCANE_END_NAMESPACE
120
121
/*---------------------------------------------------------------------------*/
122
/*---------------------------------------------------------------------------*/
123
124
#endif
Arcane::GeomShapeMng
Classe gérant les GeomShape des mailles d'un maillage.
Definition
GeomShapeMng.h:94
Arcane::GeomShapeMutableView
Vue modifiable sur un GeomShape.
Definition
GeomShapeMutableView.h:51
Arcane::GeomShape
Forme géométrique.
Definition
GeomShape.h:55
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
arcane
geometric
GeomShapeMutableView.h
Généré le Lundi 18 Novembre 2024 03:00:01 pour Arcane par
1.9.8