00001 #ifndef STEREOMETATRACER_H_ 00002 #define STEREOMETATRACER_H_ 00003 00004 #include "TracingStrategy.h" 00005 #include "../tracing/RayCaster.h" 00006 #include "../cameras/PerspectiveCamera.h" 00007 00008 namespace rcrt 00009 { 00010 00017 class StereoMetaTracer : public rcrt::TracingStrategy 00018 { 00019 private: 00020 Camera * camLeft, * camRight; 00021 TracingStrategy* strategy; 00022 00023 public: 00024 StereoMetaTracer( PerspectiveCamera* cam, float eyeDistance, TracingStrategy* ts); 00025 virtual ~StereoMetaTracer(); 00026 00027 virtual RGBColor trace(Ray& r) const; 00028 virtual Image trace(Camera* cam) const; 00029 virtual Image trace(Camera* cam, const int& x0, const int& y0, 00030 const int& x1, const int& y1) const; 00031 }; 00032 00033 } 00034 00035 #endif /*STEREOMETATRACER_H_*/