Public Types | Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes
rviz_animated_view_controller::AnimatedViewController Class Reference

An un-constrained "flying" camera, specified by an eye point, focus point, and up vector. More...

#include <rviz_animated_view_controller.h>

Inheritance diagram for rviz_animated_view_controller::AnimatedViewController:
Inheritance graph
[legend]

List of all members.

Public Types

enum  { TRANSITION_LINEAR = 0, TRANSITION_SPHERICAL }

Public Member Functions

 AnimatedViewController ()
virtual void handleMouseEvent (rviz::ViewportMouseEvent &evt)
virtual void lookAt (const Ogre::Vector3 &point)
 Calls beginNewTransition() to move the focus point to the point provided, assumed to be in the Rviz Fixed Frame.
virtual void mimic (ViewController *source_view)
 Configure the settings of this view controller to give, as much as possible, a similar view as that given by the source_view.
void move_eye (float x, float y, float z)
 Applies a translation to only the eye point.
void move_focus_and_eye (float x, float y, float z)
 Applies a translation to the focus and eye points.
void moveEyeWithFocusTo (const Ogre::Vector3 &point)
 Calls beginNewTransition() to move the eye to the point given, keeping the direction fixed.
virtual void onActivate ()
 called by activate().
virtual void onInitialize ()
 Do subclass-specific initialization. Called by ViewController::initialize after context_ and camera_ are set.
void orbitCameraTo (const Ogre::Vector3 &point)
 Calls beginNewTransition() with the focus point fixed, moving the eye to the point given.
virtual void reset ()
 Resets the camera parameters to a sane value.
virtual void transitionFrom (ViewController *previous_view)
 Called by ViewManager when this ViewController is being made current.
void yaw_pitch_roll (float yaw, float pitch, float roll)
 Applies a body-fixed-axes sequence of rotations; only accurate for small angles.
virtual ~AnimatedViewController ()

Protected Slots

virtual void onDistancePropertyChanged ()
 Called when distance property is changed; computes new eye position.
virtual void onEyePropertyChanged ()
 Called when eye property is changed; computes new distance.
virtual void onFocusPropertyChanged ()
 Called focus property is changed; computes new distance.
virtual void onUpPropertyChanged ()
 Called when up vector property is changed (does nothing for now...).
virtual void updateAttachedFrame ()
 Called when Target Frame property changes while view is active. Purpose is to change values in the view controller (like a position offset) such that the actual viewpoint does not change. Calls updateTargetSceneNode() and onTargetFrameChanged().
void updateTopics ()

Protected Member Functions

Ogre::Vector3 attachedLocalToFixedFrame (const Ogre::Vector3 &v)
void beginNewTransition (const Ogre::Vector3 &eye, const Ogre::Vector3 &focus, const Ogre::Vector3 &up, const ros::Duration &transition_time)
 Begins a camera movement animation to the given goal points.
void cameraPlacementCallback (const view_controller_msgs::CameraPlacementConstPtr &cp_ptr)
void cancelTransition ()
 Cancels any currently active camera movement.
void connectPositionProperties ()
 Convenience function; connects the signals/slots for position properties.
void disconnectPositionProperties ()
 Convenience function; disconnects the signals/slots for position properties.
Ogre::Vector3 fixedFrameToAttachedLocal (const Ogre::Vector3 &v)
float getDistanceFromCameraToFocalPoint ()
 Return the distance between camera and focal point.
Ogre::Quaternion getOrientation ()
 Return a Quaternion.
virtual void onAttachedFrameChanged (const Ogre::Vector3 &old_reference_position, const Ogre::Quaternion &old_reference_orientation)
 Override to implement the change in properties which nullifies the change in attached frame.
void setPropertiesFromCamera (Ogre::Camera *source_camera)
void transformCameraPlacementToAttachedFrame (view_controller_msgs::CameraPlacement &cp)
virtual void update (float dt, float ros_dt)
 Called at 30Hz by ViewManager::update() while this view is active. Override with code that needs to run repeatedly.
void updateAttachedSceneNode ()
 Update the position of the attached_scene_node_ from the TF frame specified in the Attached Frame property.
void updateCamera ()
 Updates the Ogre camera properties from the view controller properties.

Protected Attributes

bool animate_
rviz::TfFramePropertyattached_frame_property_
Ogre::SceneNode * attached_scene_node_
rviz::RosTopicPropertycamera_placement_topic_property_
ros::Duration current_transition_duration_
rviz::FloatPropertydefault_transition_time_property_
 A default time for any animation requests.
rviz::FloatPropertydistance_property_
 The camera's distance from the focal point.
bool dragging_
 A flag indicating the dragging state of the mouse.
rviz::VectorPropertyeye_point_property_
 The position of the camera.
rviz::BoolPropertyfixed_up_property_
 If True, "up" is fixed to ... up.
rviz::Shapefocal_shape_
 A small ellipsoid to show the focus point.
rviz::VectorPropertyfocus_point_property_
 The point around which the camera "orbits".
Ogre::Vector3 goal_focus_
Ogre::Vector3 goal_position_
Ogre::Vector3 goal_up_
QCursor interaction_disabled_cursor_
 A cursor for indicating mouse interaction is disabled.
rviz::EditableEnumPropertyinteraction_mode_property_
 Select between Orbit or FPS control style.
rviz::BoolPropertymouse_enabled_property_
 If True, most user changes to camera state are disabled.
ros::NodeHandle nh_
ros::Subscriber placement_subscriber_
Ogre::Quaternion reference_orientation_
 Used to store the orientation of the attached frame relative to <Fixed frame>="">
Ogre::Vector3 reference_position_
 Used to store the position of the attached frame relative to <Fixed frame>="">
Ogre::Vector3 start_focus_
Ogre::Vector3 start_position_
Ogre::Vector3 start_up_
ros::Time trajectory_start_time_
ros::Time transition_start_time_
rviz::VectorPropertyup_vector_property_
 The up vector for the camera.

Detailed Description

An un-constrained "flying" camera, specified by an eye point, focus point, and up vector.

Definition at line 61 of file rviz_animated_view_controller.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
TRANSITION_LINEAR 
TRANSITION_SPHERICAL 

Definition at line 66 of file rviz_animated_view_controller.h.


Constructor & Destructor Documentation

Definition at line 94 of file rviz_animated_view_controller.cpp.

Definition at line 138 of file rviz_animated_view_controller.cpp.


Member Function Documentation

Ogre::Vector3 rviz_animated_view_controller::AnimatedViewController::attachedLocalToFixedFrame ( const Ogre::Vector3 &  v) [inline, protected]

Definition at line 190 of file rviz_animated_view_controller.h.

void rviz_animated_view_controller::AnimatedViewController::beginNewTransition ( const Ogre::Vector3 &  eye,
const Ogre::Vector3 &  focus,
const Ogre::Vector3 &  up,
const ros::Duration transition_time 
) [protected]

Begins a camera movement animation to the given goal points.

Definition at line 506 of file rviz_animated_view_controller.cpp.

void rviz_animated_view_controller::AnimatedViewController::cameraPlacementCallback ( const view_controller_msgs::CameraPlacementConstPtr &  cp_ptr) [protected]

Definition at line 540 of file rviz_animated_view_controller.cpp.

Cancels any currently active camera movement.

Definition at line 535 of file rviz_animated_view_controller.cpp.

Convenience function; connects the signals/slots for position properties.

Definition at line 189 of file rviz_animated_view_controller.cpp.

Convenience function; disconnects the signals/slots for position properties.

Definition at line 197 of file rviz_animated_view_controller.cpp.

Ogre::Vector3 rviz_animated_view_controller::AnimatedViewController::fixedFrameToAttachedLocal ( const Ogre::Vector3 &  v) [inline, protected]

Definition at line 189 of file rviz_animated_view_controller.h.

Return the distance between camera and focal point.

Definition at line 288 of file rviz_animated_view_controller.cpp.

Return a Quaternion.

Definition at line 757 of file rviz_animated_view_controller.cpp.

Reimplemented from rviz::ViewController.

Definition at line 312 of file rviz_animated_view_controller.cpp.

void rviz_animated_view_controller::AnimatedViewController::lookAt ( const Ogre::Vector3 &  point) [virtual]

Calls beginNewTransition() to move the focus point to the point provided, assumed to be in the Rviz Fixed Frame.

Reimplemented from rviz::ViewController.

Definition at line 640 of file rviz_animated_view_controller.cpp.

Configure the settings of this view controller to give, as much as possible, a similar view as that given by the source_view.

source_view must return a valid Ogre::Camera* from getCamera().

Reimplemented from rviz::ViewController.

Definition at line 461 of file rviz_animated_view_controller.cpp.

void rviz_animated_view_controller::AnimatedViewController::move_eye ( float  x,
float  y,
float  z 
)

Applies a translation to only the eye point.

Definition at line 769 of file rviz_animated_view_controller.cpp.

Applies a translation to the focus and eye points.

Definition at line 762 of file rviz_animated_view_controller.cpp.

Calls beginNewTransition() to move the eye to the point given, keeping the direction fixed.

Definition at line 662 of file rviz_animated_view_controller.cpp.

called by activate().

This version calls updateAttachedSceneNode().

Reimplemented from rviz::ViewController.

Definition at line 170 of file rviz_animated_view_controller.cpp.

void rviz_animated_view_controller::AnimatedViewController::onAttachedFrameChanged ( const Ogre::Vector3 &  old_reference_position,
const Ogre::Quaternion &  old_reference_orientation 
) [protected, virtual]

Override to implement the change in properties which nullifies the change in attached frame.

See also:
updateAttachedFrame()

Definition at line 268 of file rviz_animated_view_controller.cpp.

Called when distance property is changed; computes new eye position.

Definition at line 215 of file rviz_animated_view_controller.cpp.

Called when eye property is changed; computes new distance.

Definition at line 205 of file rviz_animated_view_controller.cpp.

Called focus property is changed; computes new distance.

Definition at line 210 of file rviz_animated_view_controller.cpp.

Do subclass-specific initialization. Called by ViewController::initialize after context_ and camera_ are set.

This version sets up the attached_scene_node, focus shape, and subscribers.

Reimplemented from rviz::ViewController.

Definition at line 154 of file rviz_animated_view_controller.cpp.

Called when up vector property is changed (does nothing for now...).

Definition at line 223 of file rviz_animated_view_controller.cpp.

Calls beginNewTransition() with the focus point fixed, moving the eye to the point given.

Definition at line 655 of file rviz_animated_view_controller.cpp.

Resets the camera parameters to a sane value.

Implements rviz::ViewController.

Definition at line 293 of file rviz_animated_view_controller.cpp.

void rviz_animated_view_controller::AnimatedViewController::setPropertiesFromCamera ( Ogre::Camera *  source_camera) [protected]

Definition at line 446 of file rviz_animated_view_controller.cpp.

void rviz_animated_view_controller::AnimatedViewController::transformCameraPlacementToAttachedFrame ( view_controller_msgs::CameraPlacement &  cp) [protected]

Definition at line 611 of file rviz_animated_view_controller.cpp.

Called by ViewManager when this ViewController is being made current.

Parameters:
previous_viewis the previous "current" view, and will not be NULL.

This gives ViewController subclasses an opportunity to implement a smooth transition from a previous viewpoint to the new viewpoint.

Reimplemented from rviz::ViewController.

Definition at line 489 of file rviz_animated_view_controller.cpp.

void rviz_animated_view_controller::AnimatedViewController::update ( float  dt,
float  ros_dt 
) [protected, virtual]

Called at 30Hz by ViewManager::update() while this view is active. Override with code that needs to run repeatedly.

Reimplemented from rviz::ViewController.

Definition at line 670 of file rviz_animated_view_controller.cpp.

Called when Target Frame property changes while view is active. Purpose is to change values in the view controller (like a position offset) such that the actual viewpoint does not change. Calls updateTargetSceneNode() and onTargetFrameChanged().

Definition at line 240 of file rviz_animated_view_controller.cpp.

Update the position of the attached_scene_node_ from the TF frame specified in the Attached Frame property.

Definition at line 250 of file rviz_animated_view_controller.cpp.

Updates the Ogre camera properties from the view controller properties.

Definition at line 706 of file rviz_animated_view_controller.cpp.

Definition at line 144 of file rviz_animated_view_controller.cpp.

void rviz_animated_view_controller::AnimatedViewController::yaw_pitch_roll ( float  yaw,
float  pitch,
float  roll 
)

Applies a body-fixed-axes sequence of rotations; only accurate for small angles.

Definition at line 715 of file rviz_animated_view_controller.cpp.


Member Data Documentation

Definition at line 224 of file rviz_animated_view_controller.h.

Definition at line 217 of file rviz_animated_view_controller.h.

Definition at line 218 of file rviz_animated_view_controller.h.

Definition at line 214 of file rviz_animated_view_controller.h.

Definition at line 230 of file rviz_animated_view_controller.h.

A default time for any animation requests.

Definition at line 212 of file rviz_animated_view_controller.h.

The camera's distance from the focal point.

Definition at line 208 of file rviz_animated_view_controller.h.

A flag indicating the dragging state of the mouse.

Definition at line 233 of file rviz_animated_view_controller.h.

The position of the camera.

Definition at line 209 of file rviz_animated_view_controller.h.

If True, "up" is fixed to ... up.

Definition at line 206 of file rviz_animated_view_controller.h.

A small ellipsoid to show the focus point.

Definition at line 232 of file rviz_animated_view_controller.h.

The point around which the camera "orbits".

Definition at line 210 of file rviz_animated_view_controller.h.

Definition at line 226 of file rviz_animated_view_controller.h.

Definition at line 225 of file rviz_animated_view_controller.h.

Definition at line 227 of file rviz_animated_view_controller.h.

A cursor for indicating mouse interaction is disabled.

Definition at line 235 of file rviz_animated_view_controller.h.

Select between Orbit or FPS control style.

Definition at line 205 of file rviz_animated_view_controller.h.

If True, most user changes to camera state are disabled.

Definition at line 204 of file rviz_animated_view_controller.h.

Definition at line 202 of file rviz_animated_view_controller.h.

Definition at line 238 of file rviz_animated_view_controller.h.

Used to store the orientation of the attached frame relative to <Fixed frame>="">

Definition at line 220 of file rviz_animated_view_controller.h.

Used to store the position of the attached frame relative to <Fixed frame>="">

Definition at line 221 of file rviz_animated_view_controller.h.

Definition at line 226 of file rviz_animated_view_controller.h.

Definition at line 225 of file rviz_animated_view_controller.h.

Definition at line 227 of file rviz_animated_view_controller.h.

Definition at line 228 of file rviz_animated_view_controller.h.

Definition at line 229 of file rviz_animated_view_controller.h.

The up vector for the camera.

Definition at line 211 of file rviz_animated_view_controller.h.


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


rviz_animated_view_controller
Author(s): Adam Leeper
autogenerated on Fri Aug 28 2015 12:56:50