00001 00002 template<typename Real> 00003 class Frustum { 00004 public: 00005 Frustum(void); 00006 Frustum(const m4x4<Real>&); 00007 ~Frustum(void) {} 00008 00009 inline void compute(const m4x4<Real>&); 00010 inline bool intersect(float3 position, float radius); 00011 00012 inline float4& operator [] (const int i) { return plane[i]; } 00013 inline const float4& operator [] (const int i) const { return plane[i]; } 00014 00015 private: 00016 float4 plane[6]; 00017 };