Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
GeomElementView.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 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/* GeomElementView.h (C) 2000-2023 */
9/* */
10/* Vues sur les éléments géométriques. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_GEOMETRIC_GEOMELEMENTVIEW_H
13#define ARCANE_GEOMETRIC_GEOMELEMENTVIEW_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/Real3.h"
18
19#include "arcane/geometric/GeometricGlobal.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane::geometric
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29/*!
30 * \ingroup ArcaneGeometric
31 * \brief Classe de base des vues constantes sur des éléments géométriques.
32 *
33 * Les vues de ce type ne sont valides que tant que l'instance dont
34 * elles sont issues existe. Par conséquent, les vues sont surtout
35 * utilisées pour le passage d'argument et ne doivent pas être conservées.
36 */
38{
39 public:
40
41 explicit GeomElementConstViewBase(ARCANE_RESTRICT const Real3POD* ptr) : m_s(ptr){}
42
43 public:
44
45 //! Récupère la valeur du \a ième noeud
46 inline const Real3 operator[](Integer i) const
47 {
48 return Real3(m_s[i].x,m_s[i].y,m_s[i].z);
49 }
50
51 /*!
52 * \brief Récupère la valeur du \a ième noeud.
53 * \deprecated Utiliser operator[] à la place.
54 */
55 //ARCANE_DEPRECATED inline const Real3 s(Integer i) const
56 inline const Real3 s(Integer i) const
57 {
58 return Real3(m_s[i].x,m_s[i].y,m_s[i].z);
59 }
60
61 protected:
62
63 ARCANE_RESTRICT const Real3POD* m_s;
64};
65
66/*---------------------------------------------------------------------------*/
67/*---------------------------------------------------------------------------*/
68/*!
69 * \ingroup ArcaneGeometric
70 * \brief Classe de base des vues modifiables sur des éléments géométriques.
71 *
72 * Les vues de ce type ne sont valides que tant que l'instance dont
73 * elles sont issues existe. Par conséquent, les vues sont surtout
74 * utilisées pour le passage d'argument et ne doivent pas être conservées.
75 */
77{
78 public:
79
80 explicit GeomElementViewBase(ARCANE_RESTRICT Real3POD* ptr) : m_s(ptr){}
81
82 public:
83
84 //! Récupère la valeur du \a ième noeud
85 const Real3 operator[](Integer i) const
86 {
87 return Real3(m_s[i].x,m_s[i].y,m_s[i].z);
88 }
89
90 //! Position la valeur du \a i-ème noeud à \a v.
91 void setValue(Integer i,Real3 v)
92 {
93 m_s[i].x = v.x;
94 m_s[i].y = v.y;
95 m_s[i].z = v.z;
96 }
97
98 protected:
99
100 ARCANE_RESTRICT Real3POD* m_s;
101};
102
103/*---------------------------------------------------------------------------*/
104/*---------------------------------------------------------------------------*/
105
106#include "arcane/geometric/GeneratedGeomElementView.h"
107
108/*---------------------------------------------------------------------------*/
109/*---------------------------------------------------------------------------*/
110
111}
112
113/*---------------------------------------------------------------------------*/
114/*---------------------------------------------------------------------------*/
115
116#endif
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Classe de base des vues constantes sur des éléments géométriques.
const Real3 s(Integer i) const
Récupère la valeur du ième noeud.
const Real3 operator[](Integer i) const
Récupère la valeur du ième noeud.
Classe de base des vues modifiables sur des éléments géométriques.
void setValue(Integer i, Real3 v)
Position la valeur du i-ème noeud à v.
const Real3 operator[](Integer i) const
Récupère la valeur du ième noeud.
Real y
deuxième composante du triplet
Definition Real3.h:36
Real z
troisième composante du triplet
Definition Real3.h:37
Real x
première composante du triplet
Definition Real3.h:35