#include <view_controller.h>
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... | |
Property * | childAt (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 Property * | childAtUnchecked (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 |
PropertyTreeModel * | getModel () 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... | |
Property * | getParent () 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 Property * | subProp (const QString &sub_name) |
Return the first child Property with the given name, or the FailureProperty if no child has the name. More... | |
Property * | takeChild (Property *child) |
Remove a given child object and return a pointer to it. More... | |
virtual Property * | takeChildAt (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_ |
DisplayContext * | context_ |
QCursor | cursor_ |
BoolProperty * | invert_z_ |
bool | is_active_ |
FloatProperty * | near_clip_property_ |
BoolProperty * | stereo_enable_ |
FloatProperty * | stereo_eye_separation_ |
BoolProperty * | stereo_eye_swap_ |
FloatProperty * | stereo_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_ |
PropertyTreeModel * | model_ |
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_ |
EnumProperty * | type_property_ |
Definition at line 55 of file view_controller.h.
|
protected |
Enumerator | |
---|---|
Default | |
Rotate2D | |
Rotate3D | |
MoveXY | |
MoveZ | |
Zoom | |
Crosshair |
Definition at line 207 of file view_controller.h.
rviz::ViewController::ViewController | ( | ) |
Definition at line 55 of file view_controller.cpp.
|
override |
Definition at line 121 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 174 of file view_controller.cpp.
|
signal |
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.
|
static |
Definition at line 126 of file view_controller.cpp.
|
inline |
Definition at line 147 of file view_controller.h.
|
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.
|
inlinevirtual |
Definition at line 176 of file view_controller.h.
|
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.
|
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.
|
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.
|
inlinevirtual |
Reimplemented in rviz::OrbitViewController, rviz::ThirdPersonFollowerViewController, rviz::XYOrbitViewController, rviz::FixedOrientationOrthoViewController, rviz::FPSViewController, and rviz::FrameViewController.
Definition at line 92 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 85 of file view_controller.cpp.
|
inline |
Definition at line 170 of file view_controller.h.
|
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.
|
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.
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
protected |
Definition at line 224 of file view_controller.cpp.
|
inlineprotected |
Definition at line 220 of file view_controller.h.
|
protected |
Definition at line 235 of file view_controller.cpp.
|
inlinevirtual |
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 138 of file view_controller.h.
|
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.
|
privateslot |
Definition at line 272 of file view_controller.cpp.
|
privateslot |
Definition at line 243 of file view_controller.cpp.
|
privateslot |
Definition at line 249 of file view_controller.cpp.
|
protected |
Definition at line 226 of file view_controller.h.
|
private |
Definition at line 246 of file view_controller.h.
|
protected |
Definition at line 225 of file view_controller.h.
|
protected |
Definition at line 233 of file view_controller.h.
|
protected |
Definition at line 240 of file view_controller.h.
|
protected |
Definition at line 228 of file view_controller.h.
|
protected |
Definition at line 235 of file view_controller.h.
|
private |
Definition at line 249 of file view_controller.h.
|
protected |
Definition at line 236 of file view_controller.h.
|
protected |
Definition at line 238 of file view_controller.h.
|
protected |
Definition at line 237 of file view_controller.h.
|
protected |
Definition at line 239 of file view_controller.h.
|
private |
Definition at line 245 of file view_controller.h.