00001
00002
00003
00004
00005
00006 float* PlaneEquation(float P[4],
00007 const float p0[3], const float p1[3], const float p2[3]);
00008 float* PlaneEquation(float P[4], const float N[3], float Dist);
00009 float* PlaneEquation(float P[4], const float N[3], const float pt[3]);
00010
00011 int PlanePtOutTest(const float P[4], const float Pt[3]);
00012 int PlanePtInOutTest(const float P[4], const float Pt[3]);
00013 float PlaneDistToPt(const float P[4], const float Pt[3]);
00014
00015 int PlaneRayIsect(const float P[4], const float Start[3], const float Dir[3]);
00016 int PlaneRayIsect(const float P[4], const float Start[3], const float Dir[3],
00017 float IsectPt[3]);
00018 int ZPlaneLineIsect(float d, const float Start[3], const float Dir[3],
00019 float IsectPt[3]);
00020 int PlaneEdgeIsect(const float P[4], const float A[3], const float B[3]);
00021 int PlaneEdgeIsect(const float P[4], const float A[3], const float B[3],
00022 float IsectPt[3]);
00023
00024 void XformPlane(const float M[16], float P[4]);
00025
00026 int PlaneMinMaxBoxOverlap(const float P[4], const float m[3],
00027 const float M[3]);
00028
00029 int PlanesRayIsect(const float Planes[][4], int NumPlanes,
00030 const float Start[3], const float Dir[3],
00031 float *InT, float *OutT);
00032 int PlanesEdgeIsect(const float Planes[][4], int NumPlanes,
00033 const float A[3], const float B[3],
00034 float *InT, float *OutT);
00035