Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
GeomElement.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/* GeomElement.h (C) 2000-2014 */
9/* */
10/* Eléments géométriques. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_GEOMETRIC_GEOMELEMENT_H
13#define ARCANE_GEOMETRIC_GEOMELEMENT_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/Item.h"
18#include "arcane/VariableTypes.h"
19
20#include "arcane/geometric/GeomElementView.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25ARCANE_BEGIN_NAMESPACE
26GEOMETRIC_BEGIN_NAMESPACE
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
44template<int NbNode>
46{
47 public:
52 {
53 init(coords,item);
54 }
57 {
58 for( Integer i=0; i<NbNode; ++i )
59 setItem(i,coords[i]);
60 }
61
63 inline const Real3 s(Integer i) const { return Real3(m_s[i].x,m_s[i].y,m_s[i].z); }
65 inline const Real3 operator[](Integer i) const { return Real3(m_s[i].x,m_s[i].y,m_s[i].z); }
67 inline void setItem(Integer i,const Real3& v) { m_s[i] = v; }
69 inline void setItem(Integer i,Real x,Real y,Real z) { m_s[i] = Real3(x,y,z); }
70
74 void fillView(Real3ArrayView view) const
75 {
76 for( Integer i=0; i<NbNode; ++i )
77 view[i] = s(i);
78 }
79
83 void init(const VariableNodeReal3& coords,ItemWithNodes item)
84 {
85 for( Integer i=0; i<NbNode; ++i )
86 m_s[i] = coords[item.node(i)];
87 }
88
89 protected:
90
91 Real3POD m_s[NbNode];
92};
93
94/*---------------------------------------------------------------------------*/
95/*---------------------------------------------------------------------------*/
96
97#include "arcane/geometric/GeneratedGeomElement.h"
98
99/*---------------------------------------------------------------------------*/
100/*---------------------------------------------------------------------------*/
101
102GEOMETRIC_END_NAMESPACE
103ARCANE_END_NAMESPACE
104
105/*---------------------------------------------------------------------------*/
106/*---------------------------------------------------------------------------*/
107
108#endif
Classe de base des éléments géométriques.
Definition GeomElement.h:46
void fillView(Real3ArrayView view) const
Remplit la vue view avec les coordonnéees de l'instance.
Definition GeomElement.h:74
void setItem(Integer i, Real x, Real y, Real z)
Positionne la valeur du ième noeud à Real3(x,y,z)
Definition GeomElement.h:69
GeomElementBase()
Constructeur vide.
Definition GeomElement.h:49
const Real3 operator[](Integer i) const
Récupère la valeur du ième noeud.
Definition GeomElement.h:65
void setItem(Integer i, const Real3 &v)
Positionne la valeur du ième noeud à v.
Definition GeomElement.h:67
const Real3 s(Integer i) const
Récupère la valeur du ième noeud.
Definition GeomElement.h:63
void init(const VariableNodeReal3 &coords, ItemWithNodes item)
Initialise les coordonnées avec celles des noeuds d'entité item.
Definition GeomElement.h:83
GeomElementBase(const VariableNodeReal3 &coords, ItemWithNodes item)
Constructeur à partir des coordonnées coords des noeuds de l'entité item.
Definition GeomElement.h:51
GeomElementBase(Real3ConstArrayView coords)
Constructeur à partir des coordonnées coords.
Definition GeomElement.h:56
Elément de maillage s'appuyant sur des noeuds (Edge,Face,Cell).
Definition Item.h:714
Node node(Int32 i) const
i-ème noeud de l'entité
Definition Item.h:768
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
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.