#include <view_controller.h>
Signals | |
void | configChanged () |
Public Member Functions | |
void | activate () |
Called by RenderPanel when this view controller is about to be used. | |
void | emitConfigChanged () |
Subclasses should call this whenever a change is made which would change the results of toString(). | |
Ogre::Camera * | getCamera () const |
virtual QString | getClassId () const |
Return the class identifier which was used to create this instance. This version just returns whatever was set with setClassId(). | |
virtual QCursor | getCursor () |
virtual QVariant | getViewData (int column, int role) const |
Overridden from Property to give a different background color and bold font if this view is active. | |
virtual Qt::ItemFlags | getViewFlags (int column) const |
Overridden from Property to make this draggable if it is not active. | |
virtual void | handleKeyEvent (QKeyEvent *event, RenderPanel *panel) |
Called by MoveTool and InteractionTool when keyboard events are passed to them. | |
virtual void | handleMouseEvent (ViewportMouseEvent &evt) |
void | initialize (DisplayContext *context) |
Do all setup that can't be done in the constructor. | |
bool | isActive () const |
virtual void | load (const Config &config) |
Load the value of this property and/or its children from the given Config reference. | |
void | lookAt (float x, float y, float z) |
Convenience function which calls lookAt(Ogre::Vector3). | |
virtual void | lookAt (const Ogre::Vector3 &point) |
This should be implemented in each subclass to aim the camera at the given point in space (relative to the 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. | |
virtual void | reset ()=0 |
virtual void | save (Config config) const |
Write the value of this property and/or its children into the given Config reference. | |
virtual void | setClassId (const QString &class_id) |
Set the class identifier used to create this instance. Typically this will be set by the factory object which created it. | |
virtual void | transitionFrom (ViewController *previous_view) |
Called by ViewManager when this ViewController is being made current. | |
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. | |
ViewController () | |
virtual | ~ViewController () |
Static Public Member Functions | |
static QString | formatClassId (const QString &class_id) |
Protected Types | |
enum | CursorType { Default, Rotate2D, Rotate3D, MoveXY, MoveZ, Zoom, Crosshair } |
Protected Member Functions | |
virtual void | onActivate () |
called by activate(). | |
virtual void | onInitialize () |
Do subclass-specific initialization. Called by ViewController::initialize after context_ and camera_ are set. Default implementation does nothing. | |
void | setCursor (CursorType cursor_type) |
void | setCursor (QCursor cursor) |
void | setStatus (const QString &message) |
Protected Attributes | |
Ogre::Camera * | camera_ |
DisplayContext * | context_ |
QCursor | cursor_ |
bool | is_active_ |
FloatProperty * | near_clip_property_ |
Private Slots | |
void | updateNearClipDistance () |
Private Attributes | |
QString | class_id_ |
QMap< CursorType, QCursor > | standard_cursors_ |
EnumProperty * | type_property_ |
Definition at line 57 of file view_controller.h.
enum rviz::ViewController::CursorType [protected] |
Definition at line 171 of file view_controller.h.
Definition at line 54 of file view_controller.cpp.
rviz::ViewController::~ViewController | ( | ) | [virtual] |
Definition at line 96 of file view_controller.cpp.
void rviz::ViewController::activate | ( | ) |
Called by RenderPanel when this view controller is about to be used.
There is no deactivate() because ViewControllers leaving "current" are destroyed. Put any cleanup in the destructor.
Definition at line 150 of file view_controller.cpp.
void rviz::ViewController::configChanged | ( | ) | [signal] |
Subclasses should call this whenever a change is made which would change the results of toString().
Definition at line 156 of file view_controller.cpp.
QString rviz::ViewController::formatClassId | ( | const QString & | class_id | ) | [static] |
Definition at line 101 of file view_controller.cpp.
Ogre::Camera* rviz::ViewController::getCamera | ( | ) | const [inline] |
Definition at line 132 of file view_controller.h.
virtual QString rviz::ViewController::getClassId | ( | ) | const [inline, virtual] |
Return the class identifier which was used to create this instance. This version just returns whatever was set with setClassId().
Definition at line 137 of file view_controller.h.
virtual QCursor rviz::ViewController::getCursor | ( | ) | [inline, virtual] |
Definition at line 149 of file view_controller.h.
QVariant rviz::ViewController::getViewData | ( | int | column, |
int | role | ||
) | const [virtual] |
Overridden from Property to give a different background color and bold font if this view is active.
Reimplemented from rviz::Property.
Definition at line 117 of file view_controller.cpp.
Qt::ItemFlags rviz::ViewController::getViewFlags | ( | int | column | ) | const [virtual] |
Overridden from Property to make this draggable if it is not active.
Reimplemented from rviz::Property.
Definition at line 138 of file view_controller.cpp.
void rviz::ViewController::handleKeyEvent | ( | QKeyEvent * | event, |
RenderPanel * | panel | ||
) | [virtual] |
Called by MoveTool and InteractionTool when keyboard events are passed to them.
The default implementation here handles the "F" (focus on object) and "Z" (zero - reset) keys.
Definition at line 181 of file view_controller.cpp.
virtual void rviz::ViewController::handleMouseEvent | ( | ViewportMouseEvent & | evt | ) | [inline, virtual] |
Reimplemented in rviz::OrbitViewController, rviz::FPSViewController, rviz::XYOrbitViewController, and rviz::FixedOrientationOrthoViewController.
Definition at line 90 of file view_controller.h.
void rviz::ViewController::initialize | ( | DisplayContext * | context | ) |
Do all setup that can't be done in the constructor.
Creates camera_ and attaches it to the root scene node.
Calls onInitialize() just before returning.
Definition at line 67 of file view_controller.cpp.
bool rviz::ViewController::isActive | ( | ) | const [inline] |
Definition at line 146 of file view_controller.h.
void rviz::ViewController::load | ( | const Config & | config | ) | [virtual] |
Load the value of this property and/or its children from the given Config reference.
Reimplemented from rviz::Property.
Reimplemented in rviz::FailedViewController.
Definition at line 161 of file view_controller.cpp.
void rviz::ViewController::lookAt | ( | float | x, |
float | y, | ||
float | z | ||
) |
Convenience function which calls lookAt(Ogre::Vector3).
Definition at line 208 of file view_controller.cpp.
virtual void rviz::ViewController::lookAt | ( | const Ogre::Vector3 & | point | ) | [inline, virtual] |
This should be implemented in each subclass to aim the camera at the given point in space (relative to the fixed frame).
Reimplemented in rviz::OrbitViewController, rviz::FailedViewController, rviz::FPSViewController, rviz::XYOrbitViewController, and rviz::FixedOrientationOrthoViewController.
Definition at line 104 of file view_controller.h.
virtual void rviz::ViewController::mimic | ( | ViewController * | source_view | ) | [inline, virtual] |
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().
This base class implementation does nothing.
Reimplemented in rviz::OrbitViewController, rviz::FramePositionTrackingViewController, rviz::FPSViewController, rviz::FixedOrientationOrthoViewController, and rviz::XYOrbitViewController.
Definition at line 117 of file view_controller.h.
virtual void rviz::ViewController::onActivate | ( | ) | [inline, protected, virtual] |
called by activate().
Override to implement view-specific activation. This base implementation does nothing.
Reimplemented in rviz::FramePositionTrackingViewController, and rviz::FailedViewController.
Definition at line 168 of file view_controller.h.
virtual void rviz::ViewController::onInitialize | ( | ) | [inline, protected, virtual] |
Do subclass-specific initialization. Called by ViewController::initialize after context_ and camera_ are set. Default implementation does nothing.
Reimplemented in rviz::OrbitViewController, rviz::FramePositionTrackingViewController, rviz::FPSViewController, rviz::XYOrbitViewController, and rviz::FixedOrientationOrthoViewController.
Definition at line 162 of file view_controller.h.
virtual void rviz::ViewController::reset | ( | ) | [pure virtual] |
Reset the view controller to some sane initial state, like looking at 0,0,0 from a few meters away.
Implemented in rviz::OrbitViewController, rviz::FailedViewController, rviz::FPSViewController, and rviz::FixedOrientationOrthoViewController.
void rviz::ViewController::save | ( | Config | config | ) | const [virtual] |
Write the value of this property and/or its children into the given Config reference.
Reimplemented from rviz::Property.
Reimplemented in rviz::FailedViewController.
Definition at line 173 of file view_controller.cpp.
virtual void rviz::ViewController::setClassId | ( | const QString & | class_id | ) | [inline, virtual] |
Set the class identifier used to create this instance. Typically this will be set by the factory object which created it.
Definition at line 141 of file view_controller.h.
void rviz::ViewController::setCursor | ( | CursorType | cursor_type | ) | [protected] |
Definition at line 203 of file view_controller.cpp.
void rviz::ViewController::setCursor | ( | QCursor | cursor | ) | [inline, protected] |
Definition at line 175 of file view_controller.h.
void rviz::ViewController::setStatus | ( | const QString & | message | ) | [protected] |
Definition at line 214 of file view_controller.cpp.
virtual void rviz::ViewController::transitionFrom | ( | ViewController * | previous_view | ) | [inline, virtual] |
Called by ViewManager when this ViewController is being made current.
previous_view | is 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.
This base class implementation does nothing.
Definition at line 127 of file view_controller.h.
virtual void rviz::ViewController::update | ( | float | dt, |
float | ros_dt | ||
) | [inline, virtual] |
Called at 30Hz by ViewManager::update() while this view is active. Override with code that needs to run repeatedly.
Reimplemented in rviz::OrbitViewController, rviz::FPSViewController, rviz::FixedOrientationOrthoViewController, and rviz::FramePositionTrackingViewController.
Definition at line 88 of file view_controller.h.
void rviz::ViewController::updateNearClipDistance | ( | ) | [private, slot] |
Definition at line 222 of file view_controller.cpp.
Ogre::Camera* rviz::ViewController::camera_ [protected] |
Definition at line 178 of file view_controller.h.
QString rviz::ViewController::class_id_ [private] |
Definition at line 194 of file view_controller.h.
DisplayContext* rviz::ViewController::context_ [protected] |
Definition at line 177 of file view_controller.h.
QCursor rviz::ViewController::cursor_ [protected] |
Definition at line 185 of file view_controller.h.
bool rviz::ViewController::is_active_ [protected] |
Definition at line 180 of file view_controller.h.
FloatProperty* rviz::ViewController::near_clip_property_ [protected] |
Definition at line 187 of file view_controller.h.
QMap<CursorType,QCursor> rviz::ViewController::standard_cursors_ [private] |
Definition at line 197 of file view_controller.h.
EnumProperty* rviz::ViewController::type_property_ [private] |
Definition at line 193 of file view_controller.h.