Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IGeometry.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_IGEOMETRY_H
8#define ARCGEOSIM_GEOMETRY_IGEOMETRY_H
9
10#include "arcane/utils/Real3.h"
11#include "arcane/Item.h"
12#include "arcane/MathUtils.h"
13
14namespace Arcane
15{
16namespace Numerics
17{
18
19using namespace Arcane;
20
24class ARCANE_GEOMETRY_EXPORT IGeometry
25{
26public:
29 {
30 ;
31 }
32
34 virtual ~IGeometry() { }
35
36public:
38 virtual Real3 computeCenter(const ItemWithNodes & item) = 0;
39
41
46 virtual Real3 computeOrientedMeasure(const ItemWithNodes & item) = 0;
47
49 virtual Real computeMeasure(const ItemWithNodes & item) = 0;
50
52
53 virtual Real computeLength(const ItemWithNodes & item) = 0;
54
56
57 virtual Real computeArea(const ItemWithNodes & item) = 0;
58
60
61 virtual Real computeVolume(const ItemWithNodes & item) = 0;
62
64
65 virtual Real3 computeSurfaceCenter(Integer n, const Real3 * coords) = 0;
66
68
69 virtual Real3 computeOrientedArea(Integer n, const Real3 * coords) = 0;
70
72 virtual Real computeLength(const Real3& m, const Real3& n) = 0;
73};
74
75} // End namespace Arcane
76
77} // End namespace Numerics
78
79#endif
Elément de maillage s'appuyant sur des noeuds (Edge,Face,Cell).
Definition Item.h:714
Interface de calculs géométriques.
Definition IGeometry.h:25
virtual Real computeVolume(const ItemWithNodes &item)=0
Calcul du volume.
virtual Real3 computeOrientedMeasure(const ItemWithNodes &item)=0
Calcul de la mesure orientée.
virtual Real3 computeCenter(const ItemWithNodes &item)=0
Calcul du centre de masse.
virtual Real3 computeSurfaceCenter(Integer n, const Real3 *coords)=0
Calcul du centre.
virtual Real computeLength(const Real3 &m, const Real3 &n)=0
Calcul de longueur d'un segment défini par deux points.
virtual Real computeMeasure(const ItemWithNodes &item)=0
Calcul de la mesure (sans orientation)
virtual Real computeLength(const ItemWithNodes &item)=0
Calcul de la longueyr.
virtual Real computeArea(const ItemWithNodes &item)=0
Calcul de l'aire.
virtual Real3 computeOrientedArea(Integer n, const Real3 *coords)=0
Calcul de l'aire orientée (ie normale)
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-