Ignition Rendering

API Reference

0.1.0
Visual Class Referenceabstract

Represents a visual node in a scene graph. A Visual is the only node that can have Geometry and other Visual children. More...

#include <ignition/rendering/Visual.hh>

Public Member Functions

virtual ~Visual ()
 Deconstructor. More...
 
virtual void AddChild (NodePtr _child)=0
 Add the given node to this visual. If the given node is already a child, no work will be done. 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 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 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 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 HasGeometry (ConstGeometryPtr _geometry) const =0
 Determine if given geometry is attached to this visual. More...
 
virtual bool InheritScale () const =0
 Determine if this visual inherits scale from this parent. More...
 
virtual math::Vector3d LocalScale () const =0
 Get the local scale. More...
 
virtual MaterialPtr Material ()=0
 Get the material assigned to attached visuals and geometries. More...
 
virtual NodePtr RemoveChild (NodePtr _child)=0
 Remove the given node from this visual. If the given node is not a child of this visual, no work will be done. More...
 
virtual NodePtr RemoveChildById (unsigned int _id)=0
 Remove the node with the given ID from this visual. If the specified node is not a child of this visual, no work will be done. More...
 
virtual NodePtr RemoveChildByIndex (unsigned int _index)=0
 Remove the node at the given index from this visual. If the specified node is not a child of this visual, no work will be done. More...
 
virtual NodePtr RemoveChildByName (const std::string &_name)=0
 Remove the node with the given name from this visual. If the specified node is not a child of this visual, no work will be done. More...
 
virtual void RemoveChildren ()=0
 Remove all child nodes from this visual. 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 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 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 SetInheritScale (bool _inherit)=0
 Specify if this visual inherits scale from its parent. 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 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 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::Vector3d WorldScale () const =0
 Get the world scale. More...
 
- Public Member Functions inherited from Node
virtual ~Node ()
 Deconstructor. More...
 
virtual bool HasParent () const =0
 Determine if this Geometry is attached to a Visual. 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 Origin () const =0
 Get position of origin. More...
 
virtual VisualPtr Parent () const =0
 Get the parent Visual. More...
 
virtual void RemoveParent ()=0
 Detach this Geometry from its parent Visual. If this Geometry does not have a parent, no work will be done. 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 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 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::Pose3d WorldToLocal (const math::Pose3d &_pose) const =0
 Convert given world pose to local pose. More...
 
- Public Member Functions inherited from Object
virtual ~Object ()
 Deconstructor. 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 PreRender ()=0
 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 ScenePtr Scene () const =0
 Get the Scene that created this object. More...
 

Detailed Description

Represents a visual node in a scene graph. A Visual is the only node that can have Geometry and other Visual children.

Constructor & Destructor Documentation

◆ ~Visual()

Member Function Documentation

◆ AddChild()

virtual void AddChild ( NodePtr  _child)
pure virtual

Add the given node to this visual. If the given node is already a child, no work will be done.

Parameters
[in]_childChild node to be added

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by BaseAxisVisual< OgreVisual >::Init(), BaseArrowVisual< OgreVisual >::Init(), and Visual::~Visual().

◆ AddGeometry()

virtual void AddGeometry ( GeometryPtr  _geometry)
pure virtual

Add the given geometry to this visual. If the given node is already attached, no work will be done.

Parameters
[in]_geometryGeometry to be added

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ ChildById()

virtual NodePtr ChildById ( unsigned int  _id) const
pure virtual

Get node with given ID. If no child exists with given ID, NULL will be returned.

Parameters
[in]_idID of the desired node
Returns
The specified node

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ ChildByIndex()

virtual NodePtr ChildByIndex ( unsigned int  _index) const
pure virtual

Get node at given index. If no child exists at given index, NULL will be returned.

Parameters
[in]_indexIndex of the desired node
Returns
The specified node

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ ChildByName()

virtual NodePtr ChildByName ( const std::string _name) const
pure virtual

Get node with given name. If no child exists with given name, NULL will be returned.

Parameters
[in]_nameName of the desired node
Returns
The specified node

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ ChildCount()

virtual unsigned int ChildCount ( ) const
pure virtual

Get number of child nodes.

Returns
The number of child nodes

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ GeometryByIndex()

virtual GeometryPtr GeometryByIndex ( unsigned int  _index) const
pure virtual

Get geometry at given index. If no geometry exists at given index, NULL will be returned.

Parameters
[in]_indexIndex of the desired geometry
Returns
The specified geometry

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ GeometryCount()

virtual unsigned int GeometryCount ( ) const
pure virtual

Get the number of geometries attached to this visual.

Returns
The number of geometries attached to this visual

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ HasChild()

virtual bool HasChild ( ConstNodePtr  _child) const
pure virtual

Determine if given node is an attached child.

Returns
True if given node is an attached child

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ HasChildId()

virtual bool HasChildId ( unsigned int  _id) const
pure virtual

Determine if node with given ID is an attached child.

Parameters
[in]_idID of the node in question
Returns
True if node with given ID is an attached child

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ HasChildName()

virtual bool HasChildName ( const std::string _name) const
pure virtual

Determine if node with given name is an attached child.

Parameters
[in]_nameName of the node in question
Returns
True if node with given name is an attached child

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ HasGeometry()

virtual bool HasGeometry ( ConstGeometryPtr  _geometry) const
pure virtual

Determine if given geometry is attached to this visual.

Parameters
[in]_geometryGeometry in question
Returns
True if given node is attached to this visual

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ InheritScale()

virtual bool InheritScale ( ) const
pure virtual

Determine if this visual inherits scale from this parent.

Returns
True if this visual inherits scale from this parent

Implemented in BaseVisual< T >, BaseVisual< OgreNode >, and OgreVisual.

Referenced by Visual::~Visual().

◆ LocalScale()

virtual math::Vector3d LocalScale ( ) const
pure virtual

Get the local scale.

Returns
The local scale

Implemented in BaseVisual< T >, BaseVisual< OgreNode >, and OgreVisual.

Referenced by Visual::~Visual().

◆ Material()

virtual MaterialPtr Material ( )
pure virtual

Get the material assigned to attached visuals and geometries.

Returns
the Pointer to the material assigned to this visual. If the material is cloned at the time it is set to this visual, the cloned material will be returned.

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ RemoveChild()

virtual NodePtr RemoveChild ( NodePtr  _child)
pure virtual

Remove the given node from this visual. If the given node is not a child of this visual, no work will be done.

Parameters
[in]_childChild node to be removed
Returns
The removed child node

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ RemoveChildById()

virtual NodePtr RemoveChildById ( unsigned int  _id)
pure virtual

Remove the node with the given ID from this visual. If the specified node is not a child of this visual, no work will be done.

Parameters
[in]_idID of the child node to be removed
Returns
The removed child node

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ RemoveChildByIndex()

virtual NodePtr RemoveChildByIndex ( unsigned int  _index)
pure virtual

Remove the node at the given index from this visual. If the specified node is not a child of this visual, no work will be done.

Parameters
[in]_indexIndex of the child node to be removed
Returns
The removed child node

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ RemoveChildByName()

virtual NodePtr RemoveChildByName ( const std::string _name)
pure virtual

Remove the node with the given name from this visual. If the specified node is not a child of this visual, no work will be done.

Parameters
[in]_nameName of the child node to be removed
Returns
The removed child node

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ RemoveChildren()

virtual void RemoveChildren ( )
pure virtual

Remove all child nodes from this visual.

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ RemoveGeometries()

virtual void RemoveGeometries ( )
pure virtual

Remove all attached geometries from this visual.

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ RemoveGeometry()

virtual GeometryPtr RemoveGeometry ( GeometryPtr  _geometry)
pure virtual

Remove the given geometry from this visual. If the given node is not a child of this visual, no work will be done.

Parameters
[in]_geometryGeometry to be removed
Returns
The removed geometry

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ RemoveGeometryByIndex()

virtual GeometryPtr RemoveGeometryByIndex ( unsigned int  _index)
pure virtual

Remove the geometry at the given index from this visual. If the specified node is not attached this visual, no work will be done.

Parameters
[in]_indexIndex of the geometry to be removed
Returns
The removed geometry

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ Scale() [1/3]

virtual void Scale ( double  _scale)
pure virtual

Scale the current scale by the given scalar. The given scalar will be assigned to the x, y, and z coordinates.

Parameters
[in]_scaleScalar to alter the current scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ Scale() [2/3]

virtual void Scale ( double  _x,
double  _y,
double  _z 
)
pure virtual

Scale the current scale by the given scalars.

Parameters
[in]_xScalar to alter the current x-coordinate scale
[in]_yScalar to alter the current y-coordinate scale
[in]_zScalar to alter the current z-coordinate scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

◆ Scale() [3/3]

virtual void Scale ( const math::Vector3d &  _scale)
pure virtual

Scale the current scale by the given scalars.

Parameters
[in]_scaleScalars to alter the current scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

◆ SetChildMaterial()

virtual void SetChildMaterial ( MaterialPtr  _material,
bool  unique = true 
)
pure virtual

Set the material for all attached visuals only.

Parameters
[in]_nameName of the material to be assigned
[in]_uniqueTrue if the specified material should be cloned

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ SetGeometryMaterial()

virtual void SetGeometryMaterial ( MaterialPtr  _material,
bool  unique = true 
)
pure virtual

Set the material for all attached geometries only.

Parameters
[in]_nameName of the material to be assigned
[in]_uniqueTrue if the specified material should be cloned

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ SetInheritScale()

virtual void SetInheritScale ( bool  _inherit)
pure virtual

Specify if this visual inherits scale from its parent.

Parameters
[in]_inheritTrue if this visual inherits scale from its parent

Implemented in OgreVisual.

Referenced by Visual::~Visual().

◆ SetLocalScale() [1/3]

virtual void SetLocalScale ( double  _scale)
pure virtual

Set the local scale. The given scale will be assigned to the x, y, and z coordinates.

Parameters
[in]_scaleNew local scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ SetLocalScale() [2/3]

virtual void SetLocalScale ( double  _x,
double  _y,
double  _z 
)
pure virtual

Set the local scale.

Parameters
[in]_xNew x-coordinate scale
[in]_yNew y-coordinate scale
[in]_zNew z-coordinate scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

◆ SetLocalScale() [3/3]

virtual void SetLocalScale ( const math::Vector3d &  _scale)
pure virtual

Set the local scale.

Parameters
[in]_scaleNew local scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

◆ SetMaterial() [1/2]

virtual void SetMaterial ( const std::string _name,
bool  unique = true 
)
pure virtual

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.

Parameters
[in]_nameName of the material to be assigned
[in]_uniqueTrue if the specified material should be cloned

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ SetMaterial() [2/2]

virtual void SetMaterial ( MaterialPtr  _material,
bool  unique = true 
)
pure virtual

Set the material for all attached visuals and geometries.

Parameters
[in]_nameName of the material to be assigned
[in]_uniqueTrue if the specified material should be cloned

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

◆ SetWorldScale() [1/3]

virtual void SetWorldScale ( double  _scale)
pure virtual

Set the world scale. The given scale will be assigned to the x, y, and z coordinates.

Parameters
[in]_scaleNew world scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().

◆ SetWorldScale() [2/3]

virtual void SetWorldScale ( double  _x,
double  _y,
double  _z 
)
pure virtual

Set the world scale.

Parameters
[in]_xNew x-coordinate scale
[in]_yNew y-coordinate scale
[in]_zNew z-coordinate scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

◆ SetWorldScale() [3/3]

virtual void SetWorldScale ( const math::Vector3d &  _scale)
pure virtual

Set the world scale.

Parameters
[in]_scaleNew world scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

◆ WorldScale()

virtual math::Vector3d WorldScale ( ) const
pure virtual

Get the world scale.

Returns
The world scale

Implemented in BaseVisual< T >, and BaseVisual< OgreNode >.

Referenced by Visual::~Visual().


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