OrbitViewController Class Reference

Orbit view controller. More...

#include <OrbitViewController.hh>

Inherits ViewController.

Inherited by OrthoViewController.

Public Member Functions

 OrbitViewController (UserCameraPtr _camera, const std::string &_name="OrbitViewController")
 Constructor. More...
 
virtual ~OrbitViewController ()
 Destructor. More...
 
math::Vector3 GetFocalPoint () const
 Get the focal point. More...
 
std::string GetTypeString () const
 Get the type of view controller. More...
 
virtual void HandleKeyPressEvent (const std::string &_key)
 Handle a key press event. More...
 
void HandleKeyReleaseEvent (const std::string &_key)
 Handle a key release event. More...
 
virtual void HandleMouseEvent (const common::MouseEvent &_event)
 Handle a mouse event. More...
 
virtual void Init ()
 Initialize the controller. More...
 
virtual void Init (const math::Vector3 &_focalPoint, const double _yaw=0, const double _pitch=0)
 Initialize with a focus point. More...
 
double Pitch () const
 
virtual void Resize (const unsigned int _width, const unsigned int _height)
 Called by the UserCamera when a resize event occurs. More...
 
void SetDistance (float _d)
 Set the distance to the focal point. More...
 
void SetEnabled (bool _value)
 Set whether the controller is enabled. More...
 
void SetFocalPoint (const math::Vector3 &_fp)
 Set the focal point. More...
 
virtual void Update ()
 Update. More...
 
double Yaw () const
 

Static Public Member Functions

static std::string GetTypeString ()
 Get the type name of this view controller. More...
 

Protected Member Functions

double NormalizePitch (double _v)
 Normalize pitch value. More...
 
double NormalizeYaw (double _v)
 Normalize yaw value. More...
 
void Orbit (double _dy, double _dp)
 Update the camera's pose based on a rotation update. More...
 
void TranslateGlobal (const math::Vector3 &_vec)
 Translate the focal point in the global coordinate frame. More...
 
void TranslateLocal (const math::Vector3 &_vec)
 Translate the focal point in the local coordinate frame. More...
 
void UpdateRefVisual ()
 Update the reference visual. More...
 
void Zoom (float _amount)
 Zoom the camera. More...
 

Protected Attributes

UserCameraPtr camera
 Pointer to the camera to control. More...
 
float distance
 Distance to the focal point. More...
 
bool enabled
 True if enabled. More...
 
ignition::math::Vector3d focalPoint
 The focal point. More...
 
bool init
 A flag used to inidicate that the view controller has just been initialized. More...
 
std::string key
 Key that is currently pressed. More...
 
float pitch
 Pitch value. More...
 
VisualPtr refVisual
 A reference visual. More...
 
std::string typeString
 Type of view controller. More...
 
float yaw
 Yaw value. More...
 

Detailed Description

Orbit view controller.

Constructor & Destructor Documentation

OrbitViewController ( UserCameraPtr  _camera,
const std::string &  _name = "OrbitViewController" 
)

Constructor.

Parameters
[in]_cameraPointer to the camera to control.
[in]_nameName of the view controller. A subclass of OrbitViewController should use a name other than "OrbitViewController".
virtual ~OrbitViewController ( )
virtual

Destructor.

Member Function Documentation

math::Vector3 GetFocalPoint ( ) const

Get the focal point.

Returns
The focal point
static std::string GetTypeString ( )
static

Get the type name of this view controller.

Returns
The view controller name: "orbit".
std::string GetTypeString ( ) const
inherited

Get the type of view controller.

Returns
The view controller type string.
virtual void HandleKeyPressEvent ( const std::string &  _key)
virtual

Handle a key press event.

Parameters
[in]_keyThe key that was pressed.

Implements ViewController.

void HandleKeyReleaseEvent ( const std::string &  _key)
virtual

Handle a key release event.

Parameters
[in]_keyThe key that was released.

Implements ViewController.

virtual void HandleMouseEvent ( const common::MouseEvent _event)
virtual

Handle a mouse event.

Parameters
[in]_eventThe mouse event.

Implements ViewController.

Reimplemented in OrthoViewController.

virtual void Init ( )
virtual

Initialize the controller.

Implements ViewController.

Reimplemented in OrthoViewController.

virtual void Init ( const math::Vector3 _focalPoint,
const double  _yaw = 0,
const double  _pitch = 0 
)
virtual

Initialize with a focus point.

Parameters
[in]_focalPointThe point to look at.
[in]_yawInitial yaw angle.
[in]_pitchInitial pitch angle.

Reimplemented from ViewController.

Reimplemented in OrthoViewController.

double NormalizePitch ( double  _v)
protected

Normalize pitch value.

[in] _v Normalize a pitch value.

Returns
The normalized value.
double NormalizeYaw ( double  _v)
protected

Normalize yaw value.

[in] _v Normalize a yaw value.

Returns
The normalized value.
void Orbit ( double  _dy,
double  _dp 
)
protected

Update the camera's pose based on a rotation update.

Parameters
[in]_dyDelta yaw movement.
[in]_dpDelta pitch movement.
double Pitch ( ) const
virtual void Resize ( const unsigned int  _width,
const unsigned int  _height 
)
virtualinherited

Called by the UserCamera when a resize event occurs.

Parameters
[in]_widthNew width
[in]_heightNew height

Reimplemented in OrthoViewController.

void SetDistance ( float  _d)

Set the distance to the focal point.

Parameters
[in]_dThe distance from the focal point.
void SetEnabled ( bool  _value)
inherited

Set whether the controller is enabled.

Parameters
[in]_valueTrue if the controller is enabled.
void SetFocalPoint ( const math::Vector3 _fp)

Set the focal point.

Parameters
[in]_fpThe focal point
void TranslateGlobal ( const math::Vector3 _vec)
protected

Translate the focal point in the global coordinate frame.

Parameters
[in]_vecDirection and amount to translate the camera.
void TranslateLocal ( const math::Vector3 _vec)
protected

Translate the focal point in the local coordinate frame.

Parameters
[in]_vecDirection and amount to translate the camera.
virtual void Update ( )
virtual

Update.

Implements ViewController.

void UpdateRefVisual ( )
protected

Update the reference visual.

double Yaw ( ) const
void Zoom ( float  _amount)
protected

Zoom the camera.

[in] _amount Zoom quatity.

Member Data Documentation

UserCameraPtr camera
protectedinherited

Pointer to the camera to control.

float distance
protected

Distance to the focal point.

bool enabled
protectedinherited

True if enabled.

ignition::math::Vector3d focalPoint
protected

The focal point.

bool init
protected

A flag used to inidicate that the view controller has just been initialized.

std::string key
protected

Key that is currently pressed.

float pitch
protected

Pitch value.

VisualPtr refVisual
protected

A reference visual.

std::string typeString
protectedinherited

Type of view controller.

float yaw
protected

Yaw value.


The documentation for this class was generated from the following file: