A base implementation of the GizmoVisual class. More...
#include <BaseGizmoVisual.hh>
Public Member Functions | |
virtual | ~BaseGizmoVisual () |
Destructor. More... | |
virtual math::Vector3d | ActiveAxis () const override |
Get the current active axis. More... | |
virtual TransformAxis | AxisById (unsigned int _id) const override |
Get the Transform axis associated with the given id. More... | |
virtual VisualPtr | ChildByAxis (unsigned int _axis) const override |
Get the child visual by axis. More... | |
virtual void | Init () override |
virtual TransformMode | Mode () const override |
Get the current transform mode. More... | |
virtual void | PreRender () override |
Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender. More... | |
virtual void | Reset () |
Reset the gizmo visual state. More... | |
virtual void | SetActiveAxis (const math::Vector3d &_axis) override |
Set the active axis in the gizmo visual. More... | |
virtual void | SetTransformMode (TransformMode _mode) override |
Set the transform mode of the gizmo. This controls the visual appearance of the gizmo. Only the visuals in the specified mode will be visible, e.g. if set to TM_TRANSLATION mode, then only the translation axis visuals will be visible. More... | |
Public Member Functions inherited from GizmoVisual | |
virtual | ~GizmoVisual () |
Destructor. More... | |
Public Member Functions inherited from CompositeVisual | |
virtual | ~CompositeVisual () |
Deconstructor. More... | |
Public Member Functions inherited from Visual | |
virtual | ~Visual () |
Deconstructor. More... | |
virtual void | AddGeometry (GeometryPtr _geometry)=0 |
Add the given geometry to this visual. If the given node is already attached, no work will be done. More... | |
virtual void | AddVisibilityFlags (uint32_t _flags)=0 |
Add visibility flags. More... | |
virtual ignition::math::AxisAlignedBox | BoundingBox () const =0 |
Get the bounding box in world frame coordinates. More... | |
virtual GeometryPtr | GeometryByIndex (unsigned int _index) const =0 |
Get geometry at given index. If no geometry exists at given index, NULL will be returned. More... | |
virtual unsigned int | GeometryCount () const =0 |
Get the number of geometries attached to this visual. More... | |
virtual bool | HasGeometry (ConstGeometryPtr _geometry) const =0 |
Determine if given geometry is attached to this visual. More... | |
virtual ignition::math::AxisAlignedBox | LocalBoundingBox () const =0 |
Get the local bounding box of the visual. More... | |
virtual MaterialPtr | Material ()=0 |
Get the material assigned to attached visuals and geometries. More... | |
virtual void | RemoveGeometries ()=0 |
Remove all attached geometries from this visual. More... | |
virtual GeometryPtr | RemoveGeometry (GeometryPtr _geometry)=0 |
Remove the given geometry from this visual. If the given node is not a child of this visual, no work will be done. More... | |
virtual GeometryPtr | RemoveGeometryByIndex (unsigned int _index)=0 |
Remove the geometry at the given index from this visual. If the specified node is not attached this visual, no work will be done. More... | |
virtual void | RemoveVisibilityFlags (uint32_t _flags)=0 |
Remove visibility flags. More... | |
virtual void | SetChildMaterial (MaterialPtr _material, bool unique=true)=0 |
Set the material for all attached visuals only. More... | |
virtual void | SetGeometryMaterial (MaterialPtr _material, bool unique=true)=0 |
Set the material for all attached geometries only. More... | |
virtual void | SetMaterial (const std::string &_name, bool unique=true)=0 |
Set the material for all attached visuals and geometries. The specified material will be retrieved from Scene::Material using the given material name. If no material is registered with the given name, no work will be done. More... | |
virtual void | SetMaterial (MaterialPtr _material, bool unique=true)=0 |
Set the material for all attached visuals and geometries. More... | |
virtual void | SetUserData (const std::string &_key, Variant _value)=0 |
Store any custom data associated with this visual. More... | |
virtual void | SetVisibilityFlags (uint32_t _flags)=0 |
Set visibility flags. More... | |
virtual void | SetVisible (bool _visible)=0 |
Specify if this visual is visible. More... | |
virtual Variant | UserData (const std::string &_key) const =0 |
Get custom data stored in this visual. More... | |
virtual uint32_t | VisibilityFlags () const =0 |
Get visibility flags. More... | |
Public Member Functions inherited from Node | |
virtual | ~Node () |
Deconstructor. More... | |
virtual void | AddChild (NodePtr _child)=0 |
Add the given node to this node. If the given node is already a child, no work will be done. More... | |
virtual NodePtr | ChildById (unsigned int _id) const =0 |
Get node with given ID. If no child exists with given ID, NULL will be returned. More... | |
virtual NodePtr | ChildByIndex (unsigned int _index) const =0 |
Get node at given index. If no child exists at given index, NULL will be returned. More... | |
virtual NodePtr | ChildByName (const std::string &_name) const =0 |
Get node with given name. If no child exists with given name, NULL will be returned. More... | |
virtual unsigned int | ChildCount () const =0 |
Get number of child nodes. More... | |
virtual bool | HasChild (ConstNodePtr _child) const =0 |
Determine if given node is an attached child. More... | |
virtual bool | HasChildId (unsigned int _id) const =0 |
Determine if node with given ID is an attached child. More... | |
virtual bool | HasChildName (const std::string &_name) const =0 |
Determine if node with given name is an attached child. More... | |
virtual bool | HasParent () const =0 |
Determine if this Node is attached to another Node. More... | |
virtual bool | InheritScale () const =0 |
Determine if this visual inherits scale from this parent. More... | |
virtual math::Pose3d | LocalPose () const =0 |
Get the local pose. More... | |
virtual math::Vector3d | LocalPosition () const =0 |
Get the local position. More... | |
virtual math::Quaterniond | LocalRotation () const =0 |
Get the local rotation. More... | |
virtual math::Vector3d | LocalScale () const =0 |
Get the local scale. More... | |
virtual math::Vector3d | Origin () const =0 |
Get position of origin. More... | |
virtual NodePtr | Parent () const =0 |
Get the parent Node. More... | |
virtual NodePtr | RemoveChild (NodePtr _child)=0 |
Remove (detach) the given node from this node. If the given node is not a child of this node, no work will be done. More... | |
virtual NodePtr | RemoveChildById (unsigned int _id)=0 |
Remove (detach) the node with the given ID from this node. If the specified node is not a child of this node, no work will be done. More... | |
virtual NodePtr | RemoveChildByIndex (unsigned int _index)=0 |
Remove (detach) the node at the given index from this node. If the specified node is not a child of this node, no work will be done. More... | |
virtual NodePtr | RemoveChildByName (const std::string &_name)=0 |
Remove (detach) the node with the given name from this node. If the specified node is not a child of this node, no work will be done. More... | |
virtual void | RemoveChildren ()=0 |
Remove all child nodes from this node This detaches all the child nodes but does not destroy them. More... | |
virtual void | RemoveParent ()=0 |
Detach this Node from its parent. If this Node does not have a parent, no work will be done. More... | |
virtual void | Scale (double _scale)=0 |
Scale the current scale by the given scalar. The given scalar will be assigned to the x, y, and z coordinates. More... | |
virtual void | Scale (double _x, double _y, double _z)=0 |
Scale the current scale by the given scalars. More... | |
virtual void | Scale (const math::Vector3d &_scale)=0 |
Scale the current scale by the given scalars. More... | |
virtual void | SetInheritScale (bool _inherit)=0 |
Specify if this visual inherits scale from its parent. More... | |
virtual void | SetLocalPose (const math::Pose3d &_pose)=0 |
Set the local pose. More... | |
virtual void | SetLocalPosition (double _x, double _y, double _z)=0 |
Set the local position. More... | |
virtual void | SetLocalPosition (const math::Vector3d &_position)=0 |
Set the local position. More... | |
virtual void | SetLocalRotation (double _r, double _p, double _y)=0 |
Set the local rotation. More... | |
virtual void | SetLocalRotation (double _w, double _x, double _y, double _z)=0 |
Set the local rotation. More... | |
virtual void | SetLocalRotation (const math::Quaterniond &_rotation)=0 |
Set the local rotation. More... | |
virtual void | SetLocalScale (double _scale)=0 |
Set the local scale. The given scale will be assigned to the x, y, and z coordinates. More... | |
virtual void | SetLocalScale (double _x, double _y, double _z)=0 |
Set the local scale. More... | |
virtual void | SetLocalScale (const math::Vector3d &_scale)=0 |
Set the local scale. More... | |
virtual void | SetOrigin (double _x, double _y, double _z)=0 |
Set position of origin. The position should be relative to the original origin of the geometry. More... | |
virtual void | SetOrigin (const math::Vector3d &_origin)=0 |
Set position of origin. The position should be relative to the original origin of the geometry. More... | |
virtual void | SetWorldPose (const math::Pose3d &_pose)=0 |
Set the world pose. More... | |
virtual void | SetWorldPosition (double _x, double _y, double _z)=0 |
Set the world position. More... | |
virtual void | SetWorldPosition (const math::Vector3d &_position)=0 |
Set the world position. More... | |
virtual void | SetWorldRotation (double _r, double _p, double _y)=0 |
Set the world rotation. More... | |
virtual void | SetWorldRotation (double _w, double _x, double _y, double _z)=0 |
Set the world rotation. More... | |
virtual void | SetWorldRotation (const math::Quaterniond &_rotation)=0 |
Set the world rotation. More... | |
virtual void | SetWorldScale (double _scale)=0 |
Set the world scale. The given scale will be assigned to the x, y, and z coordinates. More... | |
virtual void | SetWorldScale (double _x, double _y, double _z)=0 |
Set the world scale. More... | |
virtual void | SetWorldScale (const math::Vector3d &_scale)=0 |
Set the world scale. More... | |
virtual math::Pose3d | WorldPose () const =0 |
Get the world pose. More... | |
virtual math::Vector3d | WorldPosition () const =0 |
Get the world position. More... | |
virtual math::Quaterniond | WorldRotation () const =0 |
Get the world rotation. More... | |
virtual math::Vector3d | WorldScale () const =0 |
Get the world scale. More... | |
virtual math::Pose3d | WorldToLocal (const math::Pose3d &_pose) const =0 |
Convert given world pose to local pose. More... | |
Public Member Functions inherited from Object | |
virtual | ~Object () |
Destructor. More... | |
virtual void | Destroy ()=0 |
Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior. More... | |
virtual unsigned int | Id () const =0 |
Get the object ID. This ID will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More... | |
virtual std::string | Name () const =0 |
Get the object name. This name will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More... | |
virtual void | PostRender ()=0 |
Post process this object and any of its children after rendering. More... | |
virtual ScenePtr | Scene () const =0 |
Get the Scene that created this object. More... | |
Protected Types | |
enum | AxisMaterial { AM_X, AM_Y, AM_Z, AM_ACTIVE, AM_O, AM_HANDLE } |
Material used by axes. More... | |
Protected Member Functions | |
BaseGizmoVisual () | |
Constructor. More... | |
void | CreateMaterials () |
Create materials used by the gizmo visual. More... | |
void | CreateRotationVisual () |
Create gizmo visual for rotation. More... | |
void | CreateScaleVisual () |
Create gizmo visual for scale. More... | |
void | CreateTranslationVisual () |
Create gizmo visual for translation. More... | |
Protected Attributes | |
VisualPtr | activeVis |
Currently active visual. More... | |
math::Vector3d | axis = math::Vector3d::Zero |
Active axis. More... | |
std::map< unsigned int, VisualPtr > | handles |
A map of gizmo axis and their handle visuals. More... | |
std::map< unsigned int, MaterialPtr > | materials |
A map of axis enums to materials. More... | |
TransformMode | mode = TransformMode::TM_NONE |
Current gizmo mode. More... | |
bool | modeDirty = false |
Flag to indicate the mode has changed. More... | |
std::map< unsigned int, VisualPtr > | visuals |
A map of gizmo axis and their visuals. More... | |
Detailed Description
template<class T>
class ignition::rendering::BaseGizmoVisual< T >
A base implementation of the GizmoVisual class.
Member Enumeration Documentation
◆ AxisMaterial
|
protected |
Material used by axes.
Enumerator | |
---|---|
AM_X | X axis. |
AM_Y | Y axis. |
AM_Z | Z axis. |
AM_ACTIVE | Active axis. |
AM_O | Origin. |
AM_HANDLE | handle |
Constructor & Destructor Documentation
◆ BaseGizmoVisual()
|
protected |
Constructor.
◆ ~BaseGizmoVisual()
|
virtual |
Destructor.
Member Function Documentation
◆ ActiveAxis()
|
overridevirtual |
◆ AxisById()
|
overridevirtual |
Get the Transform axis associated with the given id.
- Parameters
-
[in] _id Id of the visual associated with a transform axis
- Returns
- Transform axis with the given id
Implements GizmoVisual.
◆ ChildByAxis()
|
overridevirtual |
Get the child visual by axis.
- Returns
- Visual representing the specified transform axis or transform mode
- See also
- TransformAxis, TransformMode
Implements GizmoVisual.
◆ CreateMaterials()
|
protected |
Create materials used by the gizmo visual.
Referenced by BaseGizmoVisual< Ogre2Visual >::Init().
◆ CreateRotationVisual()
|
protected |
Create gizmo visual for rotation.
Referenced by BaseGizmoVisual< Ogre2Visual >::Init().
◆ CreateScaleVisual()
|
protected |
Create gizmo visual for scale.
- Returns
- Rotation visual
Referenced by BaseGizmoVisual< Ogre2Visual >::Init().
◆ CreateTranslationVisual()
|
protected |
Create gizmo visual for translation.
Referenced by BaseGizmoVisual< Ogre2Visual >::Init().
◆ Init()
|
overridevirtual |
◆ Mode()
|
overridevirtual |
Get the current transform mode.
- Returns
- Transform mode
- See also
- SetTransformMode
Implements GizmoVisual.
◆ PreRender()
|
overridevirtual |
Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender.
Implements Object.
◆ Reset()
|
virtual |
Reset the gizmo visual state.
Referenced by BaseGizmoVisual< Ogre2Visual >::PreRender().
◆ SetActiveAxis()
|
overridevirtual |
Set the active axis in the gizmo visual.
- Parameters
-
[in] _axis Axis to be set active
Implements GizmoVisual.
◆ SetTransformMode()
|
overridevirtual |
Set the transform mode of the gizmo. This controls the visual appearance of the gizmo. Only the visuals in the specified mode will be visible, e.g. if set to TM_TRANSLATION mode, then only the translation axis visuals will be visible.
- Parameters
-
[in] _mode Transform mode to set the gizmo to
- See also
- GizmoMode
Implements GizmoVisual.
Member Data Documentation
◆ activeVis
|
protected |
Currently active visual.
◆ axis
|
protected |
◆ handles
A map of gizmo axis and their handle visuals.
Referenced by BaseGizmoVisual< Ogre2Visual >::CreateRotationVisual(), BaseGizmoVisual< Ogre2Visual >::CreateScaleVisual(), BaseGizmoVisual< Ogre2Visual >::CreateTranslationVisual(), BaseGizmoVisual< Ogre2Visual >::PreRender(), and BaseGizmoVisual< Ogre2Visual >::Reset().
◆ materials
|
protected |
A map of axis enums to materials.
Referenced by BaseGizmoVisual< Ogre2Visual >::CreateMaterials(), BaseGizmoVisual< Ogre2Visual >::CreateRotationVisual(), BaseGizmoVisual< Ogre2Visual >::CreateScaleVisual(), BaseGizmoVisual< Ogre2Visual >::CreateTranslationVisual(), BaseGizmoVisual< Ogre2Visual >::PreRender(), and BaseGizmoVisual< Ogre2Visual >::Reset().
◆ mode
|
protected |
Current gizmo mode.
Referenced by BaseGizmoVisual< Ogre2Visual >::Mode(), BaseGizmoVisual< Ogre2Visual >::PreRender(), and BaseGizmoVisual< Ogre2Visual >::SetTransformMode().
◆ modeDirty
|
protected |
Flag to indicate the mode has changed.
Referenced by BaseGizmoVisual< Ogre2Visual >::PreRender(), BaseGizmoVisual< Ogre2Visual >::SetActiveAxis(), and BaseGizmoVisual< Ogre2Visual >::SetTransformMode().
◆ visuals
A map of gizmo axis and their visuals.
Referenced by BaseGizmoVisual< Ogre2Visual >::AxisById(), BaseGizmoVisual< Ogre2Visual >::ChildByAxis(), BaseGizmoVisual< Ogre2Visual >::CreateRotationVisual(), BaseGizmoVisual< Ogre2Visual >::CreateScaleVisual(), BaseGizmoVisual< Ogre2Visual >::CreateTranslationVisual(), BaseGizmoVisual< Ogre2Visual >::Init(), BaseGizmoVisual< Ogre2Visual >::PreRender(), and BaseGizmoVisual< Ogre2Visual >::Reset().
The documentation for this class was generated from the following file: