12#ifndef ARCANE_GEOMETRICUTILITIES_H
13#define ARCANE_GEOMETRICUTILITIES_H
17#include "arcane/utils/Real3.h"
18#include "arcane/utils/Real3x3.h"
45 class ARCANE_CORE_EXPORT QuadMapping
48 QuadMapping() : m_precision(1.0e-14)
61 Real x0 = (1.0-u) * (1.0-v);
62 Real x1 = (1.0+u) * (1.0-v);
63 Real x2 = (1.0+u) * (1.0+v);
64 Real x3 = (1.0-u) * (1.0+v);
66 return 0.25 * (m_pos[0] * x0 + m_pos[1] * x1 + m_pos[2] * x2 + m_pos[3] * x3);
73 Real t1 = 0.25 * ( v - 1.0);
74 Real t2 = 0.25 * ( v + 1.0);
75 Real t3 = 0.25 * ( u - 1.0);
76 Real t4 = 0.25 * (-u - 1.0);
78 return Real3x3(m_pos[0]*t1 - m_pos[1]*t1 + m_pos[2]*t2 - m_pos[3]*t2,
79 m_pos[0]*t3 + m_pos[1]*t4 - m_pos[2]*t4 - m_pos[3]*t3,
95 class ARCANE_CORE_EXPORT ProjectionInfo
Informations sur le type flottant.
Real3 m_projection
Position de la projection.
static ProjectionInfo projection(Real3 v1, Real3 v2, Real3 v3, Real3 point)
Projection du point point au triangle défini par v1, v2 et v3.
int m_region
Région dans laquelle se situe la projection (0 si intérieur au segment ou au triangle)
Real m_alpha
Coordonnées barycentrique x de la projection.
static bool isInside(Real3 v1, Real3 v2, Real3 v3, Real3 point)
Indique si un la projection du point point est à l'intérieur du triangle défini par v1,...
Real m_distance
Distance du point à sa projection.
Real m_beta
Coordonnées barycentrique y de la projection.
Real3 evaluatePosition(Real3 iso) const
Calcule les coordonnées cartésiennes à partir des coordonnées iso-barycentriques.
Interface du gestionnaire de traces.
Classe gérant un vecteur de réel de dimension 3.
Classe gérant une matrice de réel de dimension 3x3.
Fonctions utilitaires sur la géométrie.
double Real
Type représentant un réel.
Real y
deuxième composante du triplet
Real x
première composante du triplet