17#ifndef GAZEBO_RENDERING_ORBITVIEWCONTROLLER_HH_
18#define GAZEBO_RENDERING_ORBITVIEWCONTROLLER_HH_
22#include <ignition/math/Vector3.hh>
45 const std::string &_name =
"OrbitViewController");
51 public:
virtual void Init();
54 public:
virtual void Init(
const ignition::math::Vector3d &_focalPoint,
55 const double _yaw = 0,
const double _pitch = 0);
88 public:
double Yaw()
const;
100 protected:
void Zoom(
float _amount);
118 protected:
void Orbit(
double _dy,
double _dp);
133 protected: std::string
key;
rendering
Definition RenderEngine.hh:31
Generic description of a mouse event.
Definition MouseEvent.hh:36
Orbit view controller.
Definition OrbitViewController.hh:38
float distance
Distance to the focal point.
Definition OrbitViewController.hh:127
void TranslateLocal(const ignition::math::Vector3d &_vec)
Translate the focal point in the local coordinate frame.
void Zoom(float _amount)
Zoom the camera.
float pitch
Pitch value.
Definition OrbitViewController.hh:124
VisualPtr refVisual
A reference visual.
Definition OrbitViewController.hh:130
double NormalizeYaw(double _v)
Normalize yaw value.
virtual void Init()
Initialize the controller.
void TranslateGlobal(const ignition::math::Vector3d &_vec)
Translate the focal point in the global coordinate frame.
bool init
A flag used to inidicate that the view controller has just been initialized.
Definition OrbitViewController.hh:137
virtual ~OrbitViewController()
Destructor.
OrbitViewController(UserCameraPtr _camera, const std::string &_name="OrbitViewController")
Constructor.
float yaw
Yaw value.
Definition OrbitViewController.hh:121
ignition::math::Vector3d FocalPoint() const
Get the focal point.
static std::string GetTypeString()
Get the type name of this view controller.
void UpdateRefVisual()
Update the reference visual.
double NormalizePitch(double _v)
Normalize pitch value.
std::string key
Key that is currently pressed.
Definition OrbitViewController.hh:133
void SetFocalPoint(const ignition::math::Vector3d &_fp)
Set the focal point.
virtual void HandleMouseEvent(const common::MouseEvent &_event)
Handle a mouse event.
virtual void HandleKeyPressEvent(const std::string &_key)
Handle a key press event.
virtual void Init(const ignition::math::Vector3d &_focalPoint, const double _yaw=0, const double _pitch=0)
Initialize with a focus point.
void Orbit(double _dy, double _dp)
Update the camera's pose based on a rotation update.
ignition::math::Vector3d focalPoint
The focal point.
Definition OrbitViewController.hh:140
void SetDistance(float _d)
Set the distance to the focal point.
virtual void Update()
Update.
void HandleKeyReleaseEvent(const std::string &_key)
Handle a key release event.
Base class for view controllers.
Definition ViewController.hh:42
std::shared_ptr< Visual > VisualPtr
Definition RenderTypes.hh:114
boost::shared_ptr< UserCamera > UserCameraPtr
Definition RenderTypes.hh:94
Forward declarations for the common classes.
Definition Animation.hh:27