$search
An orbital camera, controlled by yaw, pitch, distance, and focal point. More...
#include <orbit_view_controller.h>
Public Member Functions | |
virtual void | fromString (const std::string &str) |
virtual std::string | getClassName () |
virtual void | handleMouseEvent (ViewportMouseEvent &evt) |
virtual void | lookAt (const Ogre::Vector3 &point) |
void | move (float x, float y, float z) |
OrbitViewController (VisualizationManager *manager, const std::string &name, Ogre::SceneNode *target_scene_node) | |
void | pitch (float angle) |
virtual std::string | toString () |
void | yaw (float angle) |
void | zoom (float amount) |
Move in/out from the focal point, ie. adjust distance_ by amount. | |
virtual | ~OrbitViewController () |
Static Public Member Functions | |
static std::string | getClassNameStatic () |
Protected Member Functions | |
void | calculatePitchYawFromPosition (const Ogre::Vector3 &position) |
Calculates pitch and yaw values given a new position and the current focal point. | |
void | normalizePitch () |
Normalizes the camera's pitch, preventing it from reaching vertical (or turning upside down). | |
void | normalizeYaw () |
Normalizes the camera's yaw in the range [0, 2*pi). | |
virtual void | onActivate () |
virtual void | onDeactivate () |
virtual void | onTargetFrameChanged (const Ogre::Vector3 &old_reference_position, const Ogre::Quaternion &old_reference_orientation) |
virtual void | onUpdate (float dt, float ros_dt) |
void | updateCamera () |
Protected Attributes | |
float | distance_ |
The camera's distance from the focal point. | |
Ogre::Vector3 | focal_point_ |
The camera's focal point. | |
ogre_tools::Shape * | focal_shape_ |
float | pitch_ |
The camera's pitch (rotation around the x-axis), in radians. | |
float | yaw_ |
The camera's yaw (rotation around the y-axis), in radians. |
An orbital camera, controlled by yaw, pitch, distance, and focal point.
This camera is based on the equation of a sphere in spherical coordinates:
x = d*cos(theta)sin(phi) y = d*cos(phi) z = d*sin(theta)sin(phi)
Where:
d = distance_
theta = yaw_
phi = pitch_
Definition at line 60 of file orbit_view_controller.h.
rviz::OrbitViewController::OrbitViewController | ( | VisualizationManager * | manager, | |
const std::string & | name, | |||
Ogre::SceneNode * | target_scene_node | |||
) |
Definition at line 39 of file orbit_view_controller.cpp.
rviz::OrbitViewController::~OrbitViewController | ( | ) | [virtual] |
Definition at line 52 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::calculatePitchYawFromPosition | ( | const Ogre::Vector3 & | position | ) | [protected] |
Calculates pitch and yaw values given a new position and the current focal point.
position | Position to calculate the pitch/yaw for |
Definition at line 236 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::fromString | ( | const std::string & | str | ) | [virtual] |
Implements rviz::ViewController.
Definition at line 271 of file orbit_view_controller.cpp.
virtual std::string rviz::OrbitViewController::getClassName | ( | ) | [inline, virtual] |
Implements rviz::ViewController.
Definition at line 82 of file orbit_view_controller.h.
static std::string rviz::OrbitViewController::getClassNameStatic | ( | ) | [inline, static] |
Definition at line 81 of file orbit_view_controller.h.
void rviz::OrbitViewController::handleMouseEvent | ( | ViewportMouseEvent & | evt | ) | [virtual] |
Reimplemented from rviz::ViewController.
Definition at line 57 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::lookAt | ( | const Ogre::Vector3 & | point | ) | [virtual] |
Implements rviz::ViewController.
Definition at line 159 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::move | ( | float | x, | |
float | y, | |||
float | z | |||
) |
Definition at line 266 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::normalizePitch | ( | ) | [protected] |
Normalizes the camera's pitch, preventing it from reaching vertical (or turning upside down).
Definition at line 183 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::normalizeYaw | ( | ) | [protected] |
Normalizes the camera's yaw in the range [0, 2*pi).
Definition at line 195 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::onActivate | ( | ) | [protected, virtual] |
Implements rviz::ViewController.
Definition at line 127 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::onDeactivate | ( | ) | [protected, virtual] |
Implements rviz::ViewController.
Definition at line 148 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::onTargetFrameChanged | ( | const Ogre::Vector3 & | old_reference_position, | |
const Ogre::Quaternion & | old_reference_orientation | |||
) | [protected, virtual] |
Implements rviz::ViewController.
Definition at line 168 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::onUpdate | ( | float | dt, | |
float | ros_dt | |||
) | [protected, virtual] |
Reimplemented from rviz::ViewController.
Definition at line 154 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::pitch | ( | float | angle | ) |
Definition at line 229 of file orbit_view_controller.cpp.
std::string rviz::OrbitViewController::toString | ( | ) | [virtual] |
Implements rviz::ViewController.
Definition at line 290 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::updateCamera | ( | ) | [protected] |
Definition at line 205 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::yaw | ( | float | angle | ) |
Definition at line 222 of file orbit_view_controller.cpp.
void rviz::OrbitViewController::zoom | ( | float | amount | ) |
Move in/out from the focal point, ie. adjust distance_ by amount.
amount | The distance to move. Positive amount moves towards the focal point, negative moves away |
Definition at line 256 of file orbit_view_controller.cpp.
float rviz::OrbitViewController::distance_ [protected] |
The camera's distance from the focal point.
Definition at line 110 of file orbit_view_controller.h.
Ogre::Vector3 rviz::OrbitViewController::focal_point_ [protected] |
The camera's focal point.
Definition at line 107 of file orbit_view_controller.h.
ogre_tools::Shape* rviz::OrbitViewController::focal_shape_ [protected] |
Definition at line 111 of file orbit_view_controller.h.
float rviz::OrbitViewController::pitch_ [protected] |
The camera's pitch (rotation around the x-axis), in radians.
Definition at line 109 of file orbit_view_controller.h.
float rviz::OrbitViewController::yaw_ [protected] |
The camera's yaw (rotation around the y-axis), in radians.
Definition at line 108 of file orbit_view_controller.h.