18 #ifndef _GAZEBO_OCULUS_CAMERA_HH_
19 #define _GAZEBO_OCULUS_CAMERA_HH_
47 class CompositorInstance;
54 class OrbitViewController;
55 class FPSViewController;
57 class SelectionBuffer;
76 public:
void Load(sdf::ElementPtr _sdf);
85 public:
virtual void Update();
88 public:
virtual void PostRender();
96 public:
void Resize(
unsigned int _w,
unsigned int _h);
100 public:
float GetAvgFPS()
const;
104 public:
unsigned int GetTriangleCount()
const;
108 public:
void MoveToVisual(
VisualPtr _visual);
111 public:
virtual bool MoveToPosition(
const math::Pose &_pose,
116 public:
void MoveToVisual(
const std::string &_visualName);
122 public:
virtual void SetRenderTarget(Ogre::RenderTarget *_target);
126 public:
void AdjustAspect(
double _v);
129 public:
virtual unsigned int GetImageWidth()
const;
132 public:
virtual unsigned int GetImageHeight()
const;
135 public:
void ResetSensor();
139 public:
bool Ready();
152 protected:
virtual bool AttachToVisualImpl(
VisualPtr _visual,
153 bool _inheritOrientation,
double _minDist = 0,
154 double _maxDist = 0);
161 protected:
virtual bool TrackVisualImpl(
VisualPtr _visual);
165 private:
void OnControl(ConstWorldControlPtr &_data);
168 private:
void Oculus();
177 private: Ogre::CompositorInstance *compositors[2];
181 private: OVR::DeviceManager *deviceManager;
184 private: OVR::HMDDevice *hmd;
187 private: OVR::Util::Render::StereoConfig *stereoConfig;
190 private: OVR::SensorDevice *sensor;
194 private: OVR::SensorFusion *sensorFusion;
198 private:
float centerOffset;
Basic camera sensor.
Definition: Camera.hh:77
Ogre::Camera * rightCamera
Ogre camera for the right Oculus screen.
Definition: OculusCamera.hh:171
Encapsulates a position and rotation in three space.
Definition: Pose.hh:40
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:48
A camera used for user visualization of a scene.
Definition: OculusCamera.hh:64
Ogre::Viewport * rightViewport
View poer for the right camera.
Definition: OculusCamera.hh:174
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:52
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:72
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
boost::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:100
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48