30 #ifndef RVIZ_FPS_VIEW_CONTROLLER_H 31 #define RVIZ_FPS_VIEW_CONTROLLER_H 33 #include <OgreVector3.h> 34 #include <OgreQuaternion.h> 56 void pitch(
float angle);
57 void move(
float x,
float y,
float z);
61 void lookAt(
const Ogre::Vector3& point)
override;
63 void reset()
override;
72 void update(
float dt,
float ros_dt)
override;
76 const Ogre::Quaternion& old_reference_orientation)
override;
91 #endif // RVIZ_VIEW_CONTROLLER_H Ogre::Quaternion getOrientation()
Return a Quaternion based on the yaw and pitch properties.
void handleMouseEvent(ViewportMouseEvent &evt) override
FloatProperty * pitch_property_
The camera's pitch (rotation around the x-axis), in radians.
Base class of ViewControllers which have a "Target Frame" which is a TF frame whose position they tra...
A first-person camera, controlled by yaw, pitch, and position.
VectorProperty * position_property_
Property specialized to enforce floating point max/min.
TFSIMD_FORCE_INLINE tfScalar angle(const Quaternion &q1, const Quaternion &q2)
void move(float x, float y, float z)
void setPropertiesFromCamera(Ogre::Camera *source_camera)
void onInitialize() override
Do subclass-specific initialization. Called by ViewController::initialize after context_ and camera_ ...
~FPSViewController() override
void onTargetFrameChanged(const Ogre::Vector3 &old_reference_position, const Ogre::Quaternion &old_reference_orientation) override
Override to implement the change in properties which nullifies the change in target frame...
void lookAt(const Ogre::Vector3 &point) override
This should be implemented in each subclass to aim the camera at the given point in space (relative t...
FloatProperty * yaw_property_
The camera's yaw (rotation around the y-axis), in radians.
void mimic(ViewController *source_view) override
Configure the settings of this view controller to give, as much as possible, a similar view as that g...
void update(float dt, float ros_dt) override
Called at 30Hz by ViewManager::update() while this view is active. Override with code that needs to r...