Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

camutils.hpp

00001 //============================================================================
00002 // camutils.hpp : a set of camera utility functions
00003 //============================================================================
00004 
00005 #include "camera.hpp"
00006 
00007 #define COMPLETEOUT 1
00008 #define PARTIAL 0
00009 #define COMPLETEIN -1
00010 
00011 int CamTriOverlap(const Vec3f V[8], const float P[][4], 
00012                   const Vec3f& A, const Vec3f& B, const Vec3f& C);
00013 int CamTriOverlap(const Camera *Cam, 
00014                   const Vec3f& A, const Vec3f& B, const Vec3f& C);
00015 
00016 int CamQuadOverlap(
00017   const Camera *Cam, 
00018   const Vec3f& A, const Vec3f& B, const Vec3f& C, const Vec3f& D); 
00019 
00020 int CamQuadOverlap(
00021   const Camera *Cam, 
00022   const float A[3], const float B[3], const float C[3], const float D[3]);
00023 
00024 void CalcCamPlanes(const Vec3f V[8], float P[][4]);
00025 
00026 void CalcCamPlanes(const Camera *Cam, float P[][4]);
00027 
00028 int CamMinMaxBoxOverlap(const Camera *Cam, 
00029                         const Vec3f cV[8], const float cP[][4], 
00030                         const Vec3f& m, const Vec3f& M);
00031 
00032 int CamMinMaxBoxOverlap(const Camera *Cam, 
00033                         const float m[3], const float M[3]);
00034 
00035 bool VFC(const Camera *Cam, const float m[3], const float M[3]);
00036 
00037 int CamCamOverlap(const Vec3f V1[8], const float P1[][4], 
00038                   const Vec3f V2[8], const float P2[][4]);
00039 int CamCamOverlap(const Camera *Cam1, const Camera *Cam2);
00040 
00041 void CamReflectAboutPlane(Camera *Cam, const float Plane[4]);

Generated at Fri Oct 12 15:12:20 2001 for GLVU by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001