X-Git-Url: http://git.tdb.fi/?p=libs%2Fvr.git;a=blobdiff_plain;f=source%2Fsystem.h;h=e52c05f6da4c7a7855a1c637f7750ec553fa6f71;hp=46c65d9b912ac53d1fb0960a29d9381fa856c194;hb=8b0577558582dd34362219e498f688d9416f0ca1;hpb=0b9fa4d7eb2acb22f5f4f31bbd508d0216421108 diff --git a/source/system.h b/source/system.h index 46c65d9..e52c05f 100644 --- a/source/system.h +++ b/source/system.h @@ -4,6 +4,7 @@ #include #include #include +#include "motioncontroller.h" namespace Msp { namespace VR { @@ -20,12 +21,18 @@ public: virtual ~System() { } static System *create(const std::string &); + static System *create_autodetect(); virtual void configure_window(Graphics::Window &) const = 0; virtual void configure_view(StereoView &) const = 0; - virtual void set_absolute_tracking(bool) = 0; + virtual bool is_absolute_tracking_supported() const { return false; } + virtual void set_absolute_tracking(bool); + virtual bool get_absolute_tracking() const { return false; } virtual HeadTrackingCamera *create_camera(const GL::Camera &) = 0; virtual StereoCombiner *create_combiner(GL::View &) = 0; + virtual MotionController *create_controller(); + + virtual void tick() { } }; } // namespace VR