12#ifndef ARCANE_GEOMETRICUTILITIES_H
13#define ARCANE_GEOMETRICUTILITIES_H
17#include "arcane/utils/Real3.h"
18#include "arcane/utils/Real3x3.h"
35namespace GeometricUtilities
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,
99 : m_distance(distance), m_region(
region), m_alpha(
alpha)
103 , m_alpha(-1.0), m_beta(-1.0) {}
Informations sur le type flottant.
Real3 m_projection
Position de la projection.
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.
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.
Classe gérant un vecteur de réel de dimension 3.
Classe gérant une matrice de réel de dimension 3x3.
Interface du gestionnaire de traces.
Référence à une instance.