|
| RayTriangle3DIntersection (ITraceMng *tm) |
|
void | setRays (Real3ConstArrayView origins, Real3ConstArrayView directions) |
| Position la liste des rayons dont on souhaite calculer l'intersection.
|
|
void | setTriangles (Real3ConstArrayView coordinates, Int32ConstArrayView indexes) |
| Positionne la liste des triangles dont on souhaite calculer l'intersection avec les rayons. Le tableau indexes contient pour chaque triangle les indices dans le tableau coordinates de chaque sommet. Par exemple, indexes[0..2] contient les indices des sommets du 1er triangle, indexes[3..5] ceux du second.
|
|
void | compute () |
| Calcul l'intersection de chaque rayon avec la liste des triangles. Si un rayon intersecte plusieurs triangles, on concerve celui dont la distance par rapport à l'origine du rayon est la plus petite.
|
|
RealConstArrayView | distances () |
| Distance de l'origine d'un rayon à son point d'intersection. Distance (exprimée relativivement à la norme de directions) du point d'intersection d'un rayon par rapport à son origine. Pour le rayon i, son point d'intersection est donc donnée par la formule (origins[i] + distances[i]*directions[i]). La distance est négative si le rayon n'intersecte aucun triangle. Ce tableau est remplit lors de l'appel à compute().
|
|
Int32ConstArrayView | intersectedTriangleIndexes () |
| Indices des triangles intersectés. Indice dans le tableau donnée par setTriangles() du triangle intersecté par chaque rayon. Cet indice vaut (-1) si un rayon n'intersecte pas un triangle. Ce tableau est remplit lors de l'appel à compute().
|
|
Real | checkIntersection (Real3 origin, Real3 direction, Real3 p0, Real3 p1, Real3 p2) |
| Calcul l'intersection de la demi-droite [origin,direction) avec le triangle (p0,p1,p2).
|
|
| TraceAccessor (ITraceMng *m) |
| Construit un accesseur via le gestionnaire de trace m.
|
|
| TraceAccessor (const TraceAccessor &rhs) |
| Constructeur par recopie.
|
|
TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Opérateur de recopie.
|
|
virtual | ~TraceAccessor () |
| Libère les ressources.
|
|
ITraceMng * | traceMng () const |
| Gestionnaire de trace.
|
|
TraceMessage | info () const |
| Flot pour un message d'information.
|
|
TraceMessage | pinfo () const |
| Flot pour un message d'information en parallèle.
|
|
TraceMessage | info (char category) const |
| Flot pour un message d'information d'une catégorie donnée.
|
|
TraceMessage | pinfo (char category) const |
| Flot pour un message d'information parallèle d'une catégorie donnée.
|
|
TraceMessage | info (bool v) const |
| Flot pour un message d'information.
|
|
TraceMessage | warning () const |
| Flot pour un message d'avertissement.
|
|
TraceMessage | pwarning () const |
|
TraceMessage | error () const |
| Flot pour un message d'erreur.
|
|
TraceMessage | perror () const |
|
TraceMessage | log () const |
| Flot pour un message de log.
|
|
TraceMessage | plog () const |
| Flot pour un message de log.
|
|
TraceMessage | logdate () const |
| Flot pour un message de log précédé de la date.
|
|
TraceMessage | fatal () const |
| Flot pour un message d'erreur fatale.
|
|
TraceMessage | pfatal () const |
| Flot pour un message d'erreur fatale en parallèle.
|
|
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
| Flot pour un message de debug.
|
|
Trace::eDebugLevel | configDbgLevel () const |
| Niveau debug du fichier de configuration.
|
|
TraceMessage | info (Int32 verbose_level) const |
| Flot pour un message d'information d'un niveau donné
|
|
TraceMessage | linfo () const |
| Flot pour un message d'information avec le niveau d'information local à cette instance.
|
|
TraceMessage | linfo (Int32 relative_level) const |
| Flot pour un message d'information avec le niveau d'information local à cette instance.
|
|
void | fatalMessage (const StandaloneTraceMessage &o) const |
|
Calcul l'intersection d'un rayon avec un ensemble de triangles en 3D.
Un rayon est une demi-droite et est défini par son origine et sa direction. Il faut positionner les rayons (via setRays()) et la liste des triangles (via setTriangles()) puis appeler la méthode compute(). En retour, on peut récupérer pour chaque rayon la distance (distances()) et le triangle intersecté (intersectedTriangleIndexes()).
Les vues passées en argument (setRays() et setTriangles()) ne doivent pas être modifiées tant que l'instance existe.
Définition à la ligne 67 du fichier BasicRayMeshIntersection.cc.