Ignition Rendering

API Reference

5.1.0

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 ()
 Destructor. More...
 
- Public Member Functions inherited from Visual
virtual ~Visual ()
 Destructor. 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 ()
 Destructor. 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, VisualPtrhandles
 A map of gizmo axis and their handle visuals. More...
 
std::map< unsigned int, MaterialPtrmaterials
 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, VisualPtrvisuals
 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

enum 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()

BaseGizmoVisual ( )
protected

Constructor.

◆ ~BaseGizmoVisual()

~BaseGizmoVisual ( )
virtual

Destructor.

Member Function Documentation

◆ ActiveAxis()

math::Vector3d ActiveAxis ( ) const
overridevirtual

Get the current active axis.

Returns
Active axis
See also
SetActiveAxis

Implements GizmoVisual.

◆ AxisById()

TransformAxis AxisById ( unsigned int  _id) const
overridevirtual

Get the Transform axis associated with the given id.

Parameters
[in]_idId of the visual associated with a transform axis
Returns
Transform axis with the given id

Implements GizmoVisual.

◆ ChildByAxis()

VisualPtr ChildByAxis ( unsigned int  _axis) const
overridevirtual

Get the child visual by axis.

Returns
Visual representing the specified transform axis or transform mode
See also
TransformAxis, TransformMode

Implements GizmoVisual.

◆ CreateMaterials()

void CreateMaterials ( )
protected

Create materials used by the gizmo visual.

Referenced by BaseGizmoVisual< Ogre2Visual >::Init().

◆ CreateRotationVisual()

void CreateRotationVisual ( )
protected

Create gizmo visual for rotation.

Referenced by BaseGizmoVisual< Ogre2Visual >::Init().

◆ CreateScaleVisual()

void CreateScaleVisual ( )
protected

Create gizmo visual for scale.

Referenced by BaseGizmoVisual< Ogre2Visual >::Init().

◆ CreateTranslationVisual()

void CreateTranslationVisual ( )
protected

Create gizmo visual for translation.

Referenced by BaseGizmoVisual< Ogre2Visual >::Init().

◆ Init()

void Init ( )
overridevirtual

◆ Mode()

TransformMode Mode ( ) const
overridevirtual

Get the current transform mode.

Returns
Transform mode
See also
SetTransformMode

Implements GizmoVisual.

◆ PreRender()

void 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()

void Reset ( )
virtual

Reset the gizmo visual state.

Referenced by BaseGizmoVisual< Ogre2Visual >::PreRender().

◆ SetActiveAxis()

void SetActiveAxis ( const math::Vector3d _axis)
overridevirtual

Set the active axis in the gizmo visual.

Parameters
[in]_axisAxis to be set active

Implements GizmoVisual.

◆ SetTransformMode()

void SetTransformMode ( TransformMode  _mode)
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]_modeTransform mode to set the gizmo to
See also
GizmoMode

Implements GizmoVisual.

Member Data Documentation

◆ activeVis

VisualPtr activeVis
protected

Currently active visual.

◆ axis

◆ handles

◆ materials

◆ mode

◆ modeDirty

bool modeDirty = false
protected

◆ visuals


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