Signals | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Slots | Private Attributes | List of all members
rviz::ViewController Class Referenceabstract

#include <view_controller.h>

Inheritance diagram for rviz::ViewController:
Inheritance graph
[legend]

Signals

void configChanged ()
 
- Signals inherited from rviz::Property
void aboutToChange ()
 Emitted by setValue() just before the value has changed. More...
 
void changed ()
 Emitted by setValue() just after the value has changed. More...
 
void childListChanged (Property *this_property)
 Emitted after insertions and deletions of child Properties. More...
 

Public Member Functions

void activate ()
 Called by RenderPanel when this view controller is about to be used. More...
 
void emitConfigChanged ()
 Subclasses should call this whenever a change is made which would change the results of toString(). More...
 
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(). More...
 
virtual QCursor getCursor ()
 
QVariant getViewData (int column, int role) const override
 Overridden from Property to give a different background color and bold font if this view is active. More...
 
Qt::ItemFlags getViewFlags (int column) const override
 Overridden from Property to make this draggable if it is not active. More...
 
virtual void handleKeyEvent (QKeyEvent *event, RenderPanel *panel)
 Called by MoveTool and InteractionTool when keyboard events are passed to them. More...
 
virtual void handleMouseEvent (ViewportMouseEvent &evt)
 
void initialize (DisplayContext *context)
 Do all setup that can't be done in the constructor. More...
 
bool isActive () const
 
void load (const Config &config) override
 Load the value of this property and/or its children from the given Config reference. More...
 
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). More...
 
void lookAt (float x, float y, float z)
 Convenience function which calls lookAt(Ogre::Vector3). More...
 
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. More...
 
virtual void reset ()=0
 
void save (Config config) const override
 Write the value of this property and/or its children into the given Config reference. More...
 
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. More...
 
virtual void transitionFrom (ViewController *previous_view)
 Called by ViewManager when this ViewController is being made current. More...
 
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. More...
 
 ViewController ()
 
 ~ViewController () override
 
- Public Member Functions inherited from rviz::Property
virtual void addChild (Property *child, int index=-1)
 Add a child property. More...
 
PropertychildAt (int index) const
 Return the child Property with the given index, or NULL if the index is out of bounds or if the child at that index is not a Property. More...
 
virtual PropertychildAtUnchecked (int index) const
 Return the child Property with the given index, without checking whether the index is within bounds. More...
 
virtual void collapse ()
 Collapse (hide the children of) this Property. More...
 
template<typename Func >
std::enable_if<!QtPrivate::FunctionPointer< Func >::IsPointerToMemberFunction, QMetaObject::Connection >::type connect (const QObject *context, Func &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 Connect changed() signal to given slot functor, considering context. More...
 
QMetaObject::Connection connect (const QObject *receiver, const char *slot, Qt::ConnectionType type=Qt::AutoConnection)
 Connect changed() signal to given slot of receiver. More...
 
template<typename Func , typename R >
std::enable_if< QtPrivate::FunctionPointer< Func >::IsPointerToMemberFunction, QMetaObject::Connection >::type connect (const R *receiver, Func &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 Connect changed() signal to given slot member function of receiver object. More...
 
template<typename Func >
std::enable_if<!QtPrivate::FunctionPointer< Func >::IsPointerToMemberFunction, QMetaObject::Connection >::type connect (Func &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 Connect changed() signal to given slot functor, using this as context. More...
 
bool contains (Property *possible_child) const
 Return true if the list of children includes possible_child, false if not. More...
 
virtual QWidget * createEditor (QWidget *parent, const QStyleOptionViewItem &option)
 Create an editor widget to edit the value of this property. More...
 
virtual void expand ()
 Expand (show the children of) this Property. More...
 
virtual QString getDescription () const
 Return the description. More...
 
virtual bool getDisableChildren ()
 If true, the children of this property should set their ItemIsEnabled flag to false. More...
 
virtual bool getHidden () const
 Return the hidden/shown state. True means hidden, false means visible. More...
 
virtual QIcon getIcon () const
 
PropertyTreeModelgetModel () const
 Return the model managing this Property and its childrent. More...
 
virtual QString getName () const
 Return the name of this Property as a QString. More...
 
std::string getNameStd () const
 Return the name of this Property as a std::string. More...
 
PropertygetParent () const
 Return the parent Property. More...
 
virtual bool getReadOnly () const
 Return the read-only-ness of this property. More...
 
virtual QVariant getValue () const
 Return the value of this Property as a QVariant. If the value has never been set, an invalid QVariant is returned. More...
 
void hide ()
 Hide this Property in any PropertyTreeWidgets. More...
 
void insertChildSorted (Property *child)
 Insert a child property, sorted by name. More...
 
bool isAncestorOf (Property *possible_child) const
 Returns true if this is an ancestor of possible_child, meaning is the parent or parent of parent etc. More...
 
virtual void moveChild (int from_index, int to_index)
 Move the child at from_index to to_index. More...
 
virtual int numChildren () const
 Return the number of child objects (Property or otherwise). More...
 
virtual bool paint (QPainter *painter, const QStyleOptionViewItem &option) const
 Hook to provide custom painting of the value data (right-hand column) in a subclass. More...
 
template<typename Func , typename P >
 Property (const QString &name, const QVariant &default_value, const QString &description, P *parent, Func &&changed_slot)
 
template<typename Func , typename R >
 Property (const QString &name, const QVariant &default_value, const QString &description, Property *parent, Func &&changed_slot, const R *receiver)
 
 Property (const QString &name=QString(), const QVariant &default_value=QVariant(), const QString &description=QString(), Property *parent=nullptr)
 Constructor. More...
 
virtual void removeChildren (int start_index=0, int count=-1)
 Remove and delete some or all child Properties. Does not change the value of this Property. More...
 
int rowNumberInParent () const
 Return the row number of this property within its parent, or -1 if it has no parent. More...
 
virtual void setDescription (const QString &description)
 Set the description. More...
 
virtual void setHidden (bool hidden)
 Hide or show this property in any PropertyTreeWidget viewing its parent. More...
 
virtual void setIcon (const QIcon &icon)
 Set the icon to be displayed next to the property. More...
 
void setModel (PropertyTreeModel *model)
 Set the model managing this Property and all its child properties, recursively. More...
 
virtual void setName (const QString &name)
 Set the name. More...
 
void setParent (Property *new_parent)
 Set parent property, without telling the parent. More...
 
virtual void setReadOnly (bool read_only)
 Prevent or allow users to edit this property from a PropertyTreeWidget. More...
 
void setShouldBeSaved (bool save)
 If save is false, neither the property nor its children will get saved. If true (the default), the property itself will only get saved if it is not read-only; children will get saved in any case (according to their save + read-only flags). More...
 
virtual bool setValue (const QVariant &new_value)
 Set the new value for this property. Returns true if the new value is different from the old value, false if same. More...
 
bool shouldBeSaved () const
 Returns true if the property has data worth saving. More...
 
void show ()
 Show this Property in any PropertyTreeWidgets. More...
 
virtual PropertysubProp (const QString &sub_name)
 Return the first child Property with the given name, or the FailureProperty if no child has the name. More...
 
PropertytakeChild (Property *child)
 Remove a given child object and return a pointer to it. More...
 
virtual PropertytakeChildAt (int index)
 Take a child out of the child list, but don't destroy it. More...
 
 ~Property () override
 Destructor. Removes this property from its parent's list of children. More...
 

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(). More...
 
virtual void onInitialize ()
 Do subclass-specific initialization. Called by ViewController::initialize after context_ and camera_ are set. Default implementation does nothing. More...
 
void setCursor (CursorType cursor_type)
 
void setCursor (QCursor cursor)
 
void setStatus (const QString &message)
 
- Protected Member Functions inherited from rviz::Property
void loadValue (const Config &config)
 Load the value of this property specifically, not including children. More...
 

Protected Attributes

Ogre::Camera * camera_
 
DisplayContextcontext_
 
QCursor cursor_
 
BoolPropertyinvert_z_
 
bool is_active_
 
FloatPropertynear_clip_property_
 
BoolPropertystereo_enable_
 
FloatPropertystereo_eye_separation_
 
BoolPropertystereo_eye_swap_
 
FloatPropertystereo_focal_distance_
 
- Protected Attributes inherited from rviz::Property
bool child_indexes_valid_
 True if row_number_within_parent_ of all children is valid, false if not. More...
 
QIcon icon_
 
PropertyTreeModelmodel_
 Pointer to the PropertyTreeModel managing this property tree. More...
 
QVariant value_
 This is the central property value. If you set it directly in a subclass, do so with care because many things depend on the aboutToChange() and changed() events emitted by setValue(). More...
 

Private Slots

void updateInvertZAxis ()
 
void updateNearClipDistance ()
 
void updateStereoProperties ()
 

Private Attributes

QString class_id_
 
QMap< CursorType, QCursor > standard_cursors_
 
EnumPropertytype_property_
 

Detailed Description

Definition at line 55 of file view_controller.h.

Member Enumeration Documentation

◆ CursorType

Enumerator
Default 
Rotate2D 
Rotate3D 
MoveXY 
MoveZ 
Zoom 
Crosshair 

Definition at line 207 of file view_controller.h.

Constructor & Destructor Documentation

◆ ViewController()

rviz::ViewController::ViewController ( )

Definition at line 55 of file view_controller.cpp.

◆ ~ViewController()

rviz::ViewController::~ViewController ( )
override

Definition at line 121 of file view_controller.cpp.

Member Function Documentation

◆ activate()

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 174 of file view_controller.cpp.

◆ configChanged

void rviz::ViewController::configChanged ( )
signal

◆ emitConfigChanged()

void rviz::ViewController::emitConfigChanged ( )

Subclasses should call this whenever a change is made which would change the results of toString().

Definition at line 180 of file view_controller.cpp.

◆ formatClassId()

QString rviz::ViewController::formatClassId ( const QString &  class_id)
static

Definition at line 126 of file view_controller.cpp.

◆ getCamera()

Ogre::Camera* rviz::ViewController::getCamera ( ) const
inline

Definition at line 147 of file view_controller.h.

◆ getClassId()

virtual QString rviz::ViewController::getClassId ( ) const
inlinevirtual

Return the class identifier which was used to create this instance. This version just returns whatever was set with setClassId().

Definition at line 155 of file view_controller.h.

◆ getCursor()

virtual QCursor rviz::ViewController::getCursor ( )
inlinevirtual
Returns
A mouse cursor representing the current state

Definition at line 176 of file view_controller.h.

◆ getViewData()

QVariant rviz::ViewController::getViewData ( int  column,
int  role 
) const
overridevirtual

Overridden from Property to give a different background color and bold font if this view is active.

Reimplemented from rviz::Property.

Definition at line 142 of file view_controller.cpp.

◆ getViewFlags()

Qt::ItemFlags rviz::ViewController::getViewFlags ( int  column) const
overridevirtual

Overridden from Property to make this draggable if it is not active.

Reimplemented from rviz::Property.

Definition at line 162 of file view_controller.cpp.

◆ handleKeyEvent()

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 205 of file view_controller.cpp.

◆ handleMouseEvent()

virtual void rviz::ViewController::handleMouseEvent ( ViewportMouseEvent evt)
inlinevirtual

◆ initialize()

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 85 of file view_controller.cpp.

◆ isActive()

bool rviz::ViewController::isActive ( ) const
inline

Definition at line 170 of file view_controller.h.

◆ load()

void rviz::ViewController::load ( const Config config)
overridevirtual

Load the value of this property and/or its children from the given Config reference.

Reimplemented from rviz::Property.

Definition at line 185 of file view_controller.cpp.

◆ lookAt() [1/2]

virtual void rviz::ViewController::lookAt ( const Ogre::Vector3 &  point)
inlinevirtual

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::FixedOrientationOrthoViewController, rviz::OrbitViewController, rviz::ThirdPersonFollowerViewController, rviz::XYOrbitViewController, rviz::FPSViewController, and rviz::FailedViewController.

Definition at line 109 of file view_controller.h.

◆ lookAt() [2/2]

void rviz::ViewController::lookAt ( float  x,
float  y,
float  z 
)

Convenience function which calls lookAt(Ogre::Vector3).

Definition at line 229 of file view_controller.cpp.

◆ mimic()

virtual void rviz::ViewController::mimic ( ViewController source_view)
inlinevirtual

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::ThirdPersonFollowerViewController, rviz::FixedOrientationOrthoViewController, rviz::XYOrbitViewController, and rviz::FPSViewController.

Definition at line 125 of file view_controller.h.

◆ onActivate()

virtual void rviz::ViewController::onActivate ( )
inlineprotectedvirtual

called by activate().

Override to implement view-specific activation. This base implementation does nothing.

Reimplemented in rviz::FramePositionTrackingViewController, and rviz::FailedViewController.

Definition at line 202 of file view_controller.h.

◆ onInitialize()

virtual void rviz::ViewController::onInitialize ( )
inlineprotectedvirtual

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::ThirdPersonFollowerViewController, rviz::XYOrbitViewController, rviz::FixedOrientationOrthoViewController, rviz::FrameViewController, and rviz::FPSViewController.

Definition at line 194 of file view_controller.h.

◆ reset()

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::FixedOrientationOrthoViewController, rviz::FrameViewController, and rviz::FPSViewController.

◆ save()

void rviz::ViewController::save ( Config  config) const
overridevirtual

Write the value of this property and/or its children into the given Config reference.

Reimplemented from rviz::Property.

Definition at line 197 of file view_controller.cpp.

◆ setClassId()

virtual void rviz::ViewController::setClassId ( const QString &  class_id)
inlinevirtual

Set the class identifier used to create this instance. Typically this will be set by the factory object which created it.

Definition at line 162 of file view_controller.h.

◆ setCursor() [1/2]

void rviz::ViewController::setCursor ( CursorType  cursor_type)
protected

Definition at line 224 of file view_controller.cpp.

◆ setCursor() [2/2]

void rviz::ViewController::setCursor ( QCursor  cursor)
inlineprotected

Definition at line 220 of file view_controller.h.

◆ setStatus()

void rviz::ViewController::setStatus ( const QString &  message)
protected

Definition at line 235 of file view_controller.cpp.

◆ transitionFrom()

virtual void rviz::ViewController::transitionFrom ( ViewController previous_view)
inlinevirtual

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.

This base class implementation does nothing.

Definition at line 138 of file view_controller.h.

◆ update()

virtual void rviz::ViewController::update ( float  dt,
float  ros_dt 
)
inlinevirtual

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

Reimplemented in rviz::OrbitViewController, rviz::FixedOrientationOrthoViewController, and rviz::FramePositionTrackingViewController.

Definition at line 86 of file view_controller.h.

◆ updateInvertZAxis

void rviz::ViewController::updateInvertZAxis ( )
privateslot

Definition at line 272 of file view_controller.cpp.

◆ updateNearClipDistance

void rviz::ViewController::updateNearClipDistance ( )
privateslot

Definition at line 243 of file view_controller.cpp.

◆ updateStereoProperties

void rviz::ViewController::updateStereoProperties ( )
privateslot

Definition at line 249 of file view_controller.cpp.

Member Data Documentation

◆ camera_

Ogre::Camera* rviz::ViewController::camera_
protected

Definition at line 226 of file view_controller.h.

◆ class_id_

QString rviz::ViewController::class_id_
private

Definition at line 246 of file view_controller.h.

◆ context_

DisplayContext* rviz::ViewController::context_
protected

Definition at line 225 of file view_controller.h.

◆ cursor_

QCursor rviz::ViewController::cursor_
protected

Definition at line 233 of file view_controller.h.

◆ invert_z_

BoolProperty* rviz::ViewController::invert_z_
protected

Definition at line 240 of file view_controller.h.

◆ is_active_

bool rviz::ViewController::is_active_
protected

Definition at line 228 of file view_controller.h.

◆ near_clip_property_

FloatProperty* rviz::ViewController::near_clip_property_
protected

Definition at line 235 of file view_controller.h.

◆ standard_cursors_

QMap<CursorType, QCursor> rviz::ViewController::standard_cursors_
private

Definition at line 249 of file view_controller.h.

◆ stereo_enable_

BoolProperty* rviz::ViewController::stereo_enable_
protected

Definition at line 236 of file view_controller.h.

◆ stereo_eye_separation_

FloatProperty* rviz::ViewController::stereo_eye_separation_
protected

Definition at line 238 of file view_controller.h.

◆ stereo_eye_swap_

BoolProperty* rviz::ViewController::stereo_eye_swap_
protected

Definition at line 237 of file view_controller.h.

◆ stereo_focal_distance_

FloatProperty* rviz::ViewController::stereo_focal_distance_
protected

Definition at line 239 of file view_controller.h.

◆ type_property_

EnumProperty* rviz::ViewController::type_property_
private

Definition at line 245 of file view_controller.h.


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


rviz
Author(s): Dave Hershberger, David Gossow, Josh Faust, William Woodall
autogenerated on Fri Dec 13 2024 03:31:04