X-Git-Url: http://git.tdb.fi/?p=libs%2Fvr.git;a=blobdiff_plain;f=source%2Fstereoview.h;h=75361ba13abd56acf8cc50feb0585e75daa41f24;hp=bc9073ed5808ebf8e9802bdbd92f21d673fd584f;hb=7b535827706880241322e300f77a5be1012b727f;hpb=23a6e642715fab2f275a2015ea079137cb31036d diff --git a/source/stereoview.h b/source/stereoview.h index bc9073e..75361ba 100644 --- a/source/stereoview.h +++ b/source/stereoview.h @@ -12,6 +12,7 @@ namespace Msp { namespace VR { class HeadTrackingCamera; +class MotionController; class StereoCombiner; class StereoView @@ -41,6 +42,7 @@ private: RenderTarget *target; Eye(); + ~Eye(); void create_target(unsigned, unsigned); void setup_frame(const GL::Camera &, float, const EyeParams &) const; @@ -54,6 +56,7 @@ private: Eye left; Eye right; Geometry::Angle strabismus; + std::vector controllers; public: StereoView(const StereoCombiner &, const GL::Camera &); @@ -62,11 +65,16 @@ private: void init(); public: + const GL::Camera &get_base_camera() const { return base_camera; } + const HeadTrackingCamera *get_head_camera() const { return head_camera; } void set_content(const GL::Renderable *); void set_eye_spacing(float); void set_eye_matrices(const GL::Matrix &, const GL::Matrix &); void set_strabismus(const Geometry::Angle &); + void add_controller(MotionController &); + void remove_controller(MotionController &); + private: void setup_frame() const; public: