Ignition Rendering

API Reference

6.3.1
Node Class Referenceabstract

Represents a single posable node in the scene graph. More...

#include <ignition/rendering/Node.hh>

Public Member Functions

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 HasUserData (const std::string &_key) const =0
 Check if node has custom data. More...
 
virtual bool InheritScale () const =0
 Determine if this node inherits scale from this parent. More...
 
virtual math::Pose3d InitialLocalPose () const =0
 Get the initial local pose. 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 node 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 SetUserData (const std::string &_key, Variant _value)=0
 Store any custom data associated with this node. 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 Variant UserData (const std::string &_key) const =0
 Get custom data stored in this node. 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 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 single posable node in the scene graph.

Constructor & Destructor Documentation

◆ ~Node()

Member Function Documentation

◆ AddChild()

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ ChildByIndex()

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ ChildCount()

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ HasParent()

virtual bool HasParent ( ) const
pure virtual

◆ HasUserData()

virtual bool HasUserData ( const std::string _key) const
pure virtual

Check if node has custom data.

Parameters
[in]_keyUnique key
Returns
True if node has custom data with the specified key

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ InheritScale()

virtual bool InheritScale ( ) const
pure virtual

Determine if this node inherits scale from this parent.

Returns
True if this node inherits scale from this parent

Implemented in BaseNode< T >, BaseNode< OgreObject >, and OgreNode.

Referenced by BaseVisual< OgreNode >::Clone(), and Node::~Node().

◆ InitialLocalPose()

virtual math::Pose3d InitialLocalPose ( ) const
pure virtual

Get the initial local pose.

Returns
The initial local pose

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ LocalPose()

virtual math::Pose3d LocalPose ( ) const
pure virtual

Get the local pose.

Returns
The local pose

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

Referenced by BaseJointVisual< OgreVisual >::UpdateAxisImpl(), and Node::~Node().

◆ LocalPosition()

virtual math::Vector3d LocalPosition ( ) const
pure virtual

Get the local position.

Returns
The local position

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ LocalRotation()

virtual math::Quaterniond LocalRotation ( ) const
pure virtual

Get the local rotation.

Returns
The local rotation

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ LocalScale()

◆ Origin()

virtual math::Vector3d Origin ( ) const
pure virtual

Get position of origin.

Returns
The position of the origin

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by BaseVisual< OgreNode >::Clone(), and Node::~Node().

◆ Parent()

virtual NodePtr Parent ( ) const
pure virtual

◆ RemoveChild()

virtual NodePtr RemoveChild ( NodePtr  _child)
pure virtual

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

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

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ RemoveChildById()

virtual NodePtr RemoveChildById ( unsigned int  _id)
pure virtual

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.

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

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ RemoveChildByIndex()

virtual NodePtr RemoveChildByIndex ( unsigned int  _index)
pure virtual

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.

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

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ RemoveChildByName()

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

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.

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

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ RemoveChildren()

virtual void RemoveChildren ( )
pure virtual

Remove all child nodes from this node This detaches all the child nodes but does not destroy them.

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ RemoveParent()

virtual void RemoveParent ( )
pure virtual

Detach this Node from its parent. If this Node does not have a parent, no work will be done.

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

◆ SetInheritScale()

virtual void SetInheritScale ( bool  _inherit)
pure virtual

Specify if this node inherits scale from its parent.

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

Implemented in OgreNode.

Referenced by BaseJointVisual< OgreVisual >::Init(), and Node::~Node().

◆ SetLocalPose()

virtual void SetLocalPose ( const math::Pose3d _pose)
pure virtual

Set the local pose.

Parameters
[in]_poseNew local pose

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

Referenced by Node::~Node().

◆ SetLocalPosition() [1/2]

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

Set the local position.

Parameters
[in]_xX-coordinate
[in]_yY-coordinate
[in]_zZ-coordinate

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ SetLocalPosition() [2/2]

virtual void SetLocalPosition ( const math::Vector3d _position)
pure virtual

Set the local position.

Parameters
[in]_positionNew local position

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

◆ SetLocalRotation() [1/3]

virtual void SetLocalRotation ( double  _r,
double  _p,
double  _y 
)
pure virtual

Set the local rotation.

Parameters
[in]_rroll
[in]_ppitch
[in]_yyaw

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ SetLocalRotation() [2/3]

virtual void SetLocalRotation ( double  _w,
double  _x,
double  _y,
double  _z 
)
pure virtual

Set the local rotation.

Parameters
[in]_wW-coordinate
[in]_xX-coordinate
[in]_yY-coordinate
[in]_zZ-coordinate

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

◆ SetLocalRotation() [3/3]

virtual void SetLocalRotation ( const math::Quaterniond _rotation)
pure virtual

Set the local rotation.

Parameters
[in]_rotationNew local rotation

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

Referenced by BaseJointVisual< OgreVisual >::ScaleToChild(), and Node::~Node().

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

◆ SetLocalScale() [3/3]

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

Set the local scale.

Parameters
[in]_scaleNew local scale

Implemented in BaseNode< T >, BaseNode< OgreObject >, BaseAxisVisual< T >, and BaseAxisVisual< OgreVisual >.

◆ SetOrigin() [1/2]

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

Set position of origin. The position should be relative to the original origin of the geometry.

Parameters
[in]_xX-coordinate
[in]_yY-coordinate
[in]_zZ-coordinate

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

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

◆ SetOrigin() [2/2]

virtual void SetOrigin ( const math::Vector3d _origin)
pure virtual

Set position of origin. The position should be relative to the original origin of the geometry.

Parameters
[in]_originNew origin position

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

◆ SetUserData()

virtual void SetUserData ( const std::string _key,
Variant  _value 
)
pure virtual

Store any custom data associated with this node.

Parameters
[in]_keyUnique key
[in]_valueValue in any type

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ SetWorldPose()

virtual void SetWorldPose ( const math::Pose3d _pose)
pure virtual

Set the world pose.

Parameters
[in]_poseNew world pose

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ SetWorldPosition() [1/2]

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

Set the world position.

Parameters
[in]_xX-coordinate
[in]_yY-coordinate
[in]_zZ-coordinate

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by BaseCamera< OgreSensor >::PreRender(), and Node::~Node().

◆ SetWorldPosition() [2/2]

virtual void SetWorldPosition ( const math::Vector3d _position)
pure virtual

Set the world position.

Parameters
[in]_positionNew world position

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

◆ SetWorldRotation() [1/3]

virtual void SetWorldRotation ( double  _r,
double  _p,
double  _y 
)
pure virtual

Set the world rotation.

Parameters
[in]_rroll
[in]_ppitch
[in]_yyaw

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by BaseCamera< OgreSensor >::PreRender(), and Node::~Node().

◆ SetWorldRotation() [2/3]

virtual void SetWorldRotation ( double  _w,
double  _x,
double  _y,
double  _z 
)
pure virtual

Set the world rotation.

Parameters
[in]_wW-coordinate
[in]_xX-coordinate
[in]_yY-coordinate
[in]_zZ-coordinate

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

◆ SetWorldRotation() [3/3]

virtual void SetWorldRotation ( const math::Quaterniond _rotation)
pure virtual

Set the world rotation.

Parameters
[in]_rotationNew world rotation

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ 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 BaseNode< T >, and BaseNode< OgreObject >.

◆ SetWorldScale() [3/3]

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

Set the world scale.

Parameters
[in]_scaleNew world scale

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

◆ UserData()

virtual Variant UserData ( const std::string _key) const
pure virtual

Get custom data stored in this node.

Parameters
[in]_keyUnique key
Returns
Value in any type. If _key does not exist for the node, an empty variant is returned (i.e., no data).

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ WorldPose()

virtual math::Pose3d WorldPose ( ) const
pure virtual

Get the world pose.

Returns
The world pose

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by BaseJointVisual< OgreVisual >::UpdateAxisImpl(), BaseCamera< OgreSensor >::ViewMatrix(), and Node::~Node().

◆ WorldPosition()

virtual math::Vector3d WorldPosition ( ) const
pure virtual

Get the world position.

Returns
The world position

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by BaseCamera< OgreSensor >::PreRender(), and Node::~Node().

◆ WorldRotation()

virtual math::Quaterniond WorldRotation ( ) const
pure virtual

Get the world rotation.

Returns
The world rotation

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by BaseCamera< OgreSensor >::PreRender(), and Node::~Node().

◆ WorldScale()

virtual math::Vector3d WorldScale ( ) const
pure virtual

Get the world scale.

Returns
The world scale

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().

◆ WorldToLocal()

virtual math::Pose3d WorldToLocal ( const math::Pose3d _pose) const
pure virtual

Convert given world pose to local pose.

Parameters
[in]_poseWorld pose to be converted

Implemented in BaseNode< T >, and BaseNode< OgreObject >.

Referenced by Node::~Node().


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