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)
100 , m_beta(beta), m_projection(aprojection) {}
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.
Real y
deuxième composante du triplet
Real x
première composante du triplet