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

AABBTriangle.h File Reference


Namespaces

namespace  ONE
namespace  ONE::photon

Classes

struct  ONE::photon::AABBTriangle

Defines

#define AXISTEST_X01(a, b, fa, fb)
#define AXISTEST_X2(a, b, fa, fb)
#define AXISTEST_Y02(a, b, fa, fb)
#define AXISTEST_Y1(a, b, fa, fb)
#define AXISTEST_Z0(a, b, fa, fb)
#define AXISTEST_Z12(a, b, fa, fb)
#define FINDMINMAX(x0, x1, x2, min, max)
#define X   0
#define Y   1
#define Z   2


Define Documentation

#define AXISTEST_X01 a,
b,
fa,
fb   ) 
 

Value:

p0 = a*v0[Y] - b*v0[Z];                            \
        p2 = a*v2[Y] - b*v2[Z];                            \
        if(p0<p2) {min=p0; max=p2;} else {min=p2; max=p0;} \
        rad = fa * boxhalfsize[Y] + fb * boxhalfsize[Z];   \
        if(min>rad || max<-rad) return 0;

#define AXISTEST_X2 a,
b,
fa,
fb   ) 
 

Value:

p0 = a*v0[Y] - b*v0[Z];                            \
        p1 = a*v1[Y] - b*v1[Z];                            \
        if(p0<p1) {min=p0; max=p1;} else {min=p1; max=p0;} \
        rad = fa * boxhalfsize[Y] + fb * boxhalfsize[Z];   \
        if(min>rad || max<-rad) return 0;

#define AXISTEST_Y02 a,
b,
fa,
fb   ) 
 

Value:

p0 = -a*v0[X] + b*v0[Z];                           \
        p2 = -a*v2[X] + b*v2[Z];                           \
        if(p0<p2) {min=p0; max=p2;} else {min=p2; max=p0;} \
        rad = fa * boxhalfsize[X] + fb * boxhalfsize[Z];   \
        if(min>rad || max<-rad) return 0;

#define AXISTEST_Y1 a,
b,
fa,
fb   ) 
 

Value:

p0 = -a*v0[X] + b*v0[Z];                           \
        p1 = -a*v1[X] + b*v1[Z];                           \
        if(p0<p1) {min=p0; max=p1;} else {min=p1; max=p0;} \
        rad = fa * boxhalfsize[X] + fb * boxhalfsize[Z];   \
        if(min>rad || max<-rad) return 0;

#define AXISTEST_Z0 a,
b,
fa,
fb   ) 
 

Value:

p0 = a*v0[X] - b*v0[Y];                            \
        p1 = a*v1[X] - b*v1[Y];                            \
        if(p0<p1) {min=p0; max=p1;} else {min=p1; max=p0;} \
        rad = fa * boxhalfsize[X] + fb * boxhalfsize[Y];   \
        if(min>rad || max<-rad) return 0;

#define AXISTEST_Z12 a,
b,
fa,
fb   ) 
 

Value:

p1 = a*v1[X] - b*v1[Y];                            \
        p2 = a*v2[X] - b*v2[Y];                            \
        if(p2<p1) {min=p2; max=p1;} else {min=p1; max=p2;} \
        rad = fa * boxhalfsize[X] + fb * boxhalfsize[Y];   \
        if(min>rad || max<-rad) return 0;

#define FINDMINMAX x0,
x1,
x2,
min,
max   ) 
 

Value:

min = max = x0;   \
  if(x1<min) min=x1;\
  if(x1>max) max=x1;\
  if(x2<min) min=x2;\
  if(x2>max) max=x2;

#define X   0
 

#define Y   1
 

#define Z   2
 


Generated on Wed Sep 7 19:03:00 2005 for ONEngine by  doxygen 1.4.3