00001
00002
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]);