Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

RayIntersection.cpp File Reference

#include "RayIntersection.h"

Include dependency graph for RayIntersection.cpp:

Include dependency graph

Go to the source code of this file.

Defines

#define EPSILON   0.000001
 Fast ray-triangle intersection, based on code from the MT97 paper.

#define CROSS(dest, v1, v2)
#define DOT(v1, v2)   (v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2])
#define SUB(dest, v1, v2)

Functions

bool ray_intersect_triangle (const gmVector3 &orig, const gmVector3 &dir, const gmVector3 &vert0, const gmVector3 &vert1, const gmVector3 &vert2, gmVector3 &bary, double *t)
 Fast ray-triangle intersection, based on code from the MT97 paper below.


Define Documentation

#define CROSS dest,
v1,
v2   ) 
 

Value:

dest[0]=v1[1]*v2[2]-v1[2]*v2[1]; \
          dest[1]=v1[2]*v2[0]-v1[0]*v2[2]; \
          dest[2]=v1[0]*v2[1]-v1[1]*v2[0];

Definition at line 8 of file RayIntersection.cpp.

Referenced by ray_intersect_triangle().

#define DOT v1,
v2   )     (v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2])
 

Definition at line 12 of file RayIntersection.cpp.

Referenced by ray_intersect_triangle().

#define EPSILON   0.000001
 

Fast ray-triangle intersection, based on code from the MT97 paper.

Definition at line 7 of file RayIntersection.cpp.

Referenced by ray_intersect_triangle().

#define SUB dest,
v1,
v2   ) 
 

Value:

dest[0]=v1[0]-v2[0]; \
          dest[1]=v1[1]-v2[1]; \
          dest[2]=v1[2]-v2[2];

Definition at line 13 of file RayIntersection.cpp.

Referenced by ray_intersect_triangle().


Function Documentation

bool ray_intersect_triangle const gmVector3 &  orig,
const gmVector3 &  dir,
const gmVector3 &  vert0,
const gmVector3 &  vert1,
const gmVector3 &  vert2,
gmVector3 &  bary,
double *  t
 

Fast ray-triangle intersection, based on code from the MT97 paper below.

Slight modifications to make it more useful for our purposes. See the paper for details on how it works. "Fast, Minimum Storage Ray/Triangle Intersection" by Tomas Moller, Ben Trumbore, 1997 http://www.acm.org/jgt/papers/MollerTrumbore97

Definition at line 18 of file RayIntersection.cpp.

References CROSS, DOT, EPSILON, and SUB.

Referenced by DynamicMesh::intersect_ray().


Generated on Mon Jun 28 15:01:07 2004 for Advanced Surface Library by doxygen 1.3.4