Gazebo Rendering

API Reference

9.0.0
Node Class Referenceabstract

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

#include <gz/rendering/Node.hh>

Public Member Functions

virtual ~Node ()
 Destructor.
 
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.
 
virtual NodePtr ChildById (unsigned int _id) const =0
 Get node with given ID. If no child exists with given ID, NULL will be returned.
 
virtual NodePtr ChildByIndex (unsigned int _index) const =0
 Get node at given index. If no child exists at given index, NULL will be returned.
 
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.
 
virtual unsigned int ChildCount () const =0
 Get number of child nodes.
 
virtual bool HasChild (ConstNodePtr _child) const =0
 Determine if given node is an attached child.
 
virtual bool HasChildId (unsigned int _id) const =0
 Determine if node with given ID is an attached child.
 
virtual bool HasChildName (const std::string &_name) const =0
 Determine if node with given name is an attached child.
 
virtual bool HasParent () const =0
 Determine if this Node is attached to another Node.
 
virtual bool HasUserData (const std::string &_key) const =0
 Check if node has custom data.
 
virtual bool InheritScale () const =0
 Determine if this node inherits scale from this parent.
 
virtual math::Pose3d InitialLocalPose () const =0
 Get the initial local pose.
 
virtual math::Pose3d LocalPose () const =0
 Get the local pose.
 
virtual math::Vector3d LocalPosition () const =0
 Get the local position.
 
virtual math::Quaterniond LocalRotation () const =0
 Get the local rotation.
 
virtual math::Vector3d LocalScale () const =0
 Get the local scale.
 
virtual math::Vector3d Origin () const =0
 Get position of origin.
 
virtual NodePtr Parent () const =0
 Get the parent Node.
 
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.
 
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.
 
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.
 
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.
 
virtual void RemoveChildren ()=0
 Remove all child nodes from this node This detaches all the child nodes but does not destroy them.
 
virtual void RemoveParent ()=0
 Detach this Node from its parent. If this Node does not have a parent, no work will be done.
 
virtual void Scale (const math::Vector3d &_scale)=0
 Scale the current scale by the given scalars.
 
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.
 
virtual void Scale (double _x, double _y, double _z)=0
 Scale the current scale by the given scalars.
 
virtual void SetInheritScale (bool _inherit)=0
 Specify if this node inherits scale from its parent.
 
virtual void SetLocalPose (const math::Pose3d &_pose)=0
 Set the local pose.
 
virtual void SetLocalPosition (const math::Vector3d &_position)=0
 Set the local position.
 
virtual void SetLocalPosition (double _x, double _y, double _z)=0
 Set the local position.
 
virtual void SetLocalRotation (const math::Quaterniond &_rotation)=0
 Set the local rotation.
 
virtual void SetLocalRotation (double _r, double _p, double _y)=0
 Set the local rotation.
 
virtual void SetLocalRotation (double _w, double _x, double _y, double _z)=0
 Set the local rotation.
 
virtual void SetLocalScale (const math::Vector3d &_scale)=0
 Set the local scale.
 
virtual void SetLocalScale (double _scale)=0
 Set the local scale. The given scale will be assigned to the x, y, and z coordinates.
 
virtual void SetLocalScale (double _x, double _y, double _z)=0
 Set the local scale.
 
virtual void SetOrigin (const math::Vector3d &_origin)=0
 Set position of origin. The position should be relative to the original origin of the geometry.
 
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.
 
virtual void SetUserData (const std::string &_key, Variant _value)=0
 Store any custom data associated with this node.
 
virtual void SetWorldPose (const math::Pose3d &_pose)=0
 Set the world pose.
 
virtual void SetWorldPosition (const math::Vector3d &_position)=0
 Set the world position.
 
virtual void SetWorldPosition (double _x, double _y, double _z)=0
 Set the world position.
 
virtual void SetWorldRotation (const math::Quaterniond &_rotation)=0
 Set the world rotation.
 
virtual void SetWorldRotation (double _r, double _p, double _y)=0
 Set the world rotation.
 
virtual void SetWorldRotation (double _w, double _x, double _y, double _z)=0
 Set the world rotation.
 
virtual void SetWorldScale (const math::Vector3d &_scale)=0
 Set the world scale.
 
virtual void SetWorldScale (double _scale)=0
 Set the world scale. The given scale will be assigned to the x, y, and z coordinates.
 
virtual void SetWorldScale (double _x, double _y, double _z)=0
 Set the world scale.
 
virtual Variant UserData (const std::string &_key) const =0
 Get custom data stored in this node.
 
virtual math::Pose3d WorldPose () const =0
 Get the world pose.
 
virtual math::Vector3d WorldPosition () const =0
 Get the world position.
 
virtual math::Quaterniond WorldRotation () const =0
 Get the world rotation.
 
virtual math::Vector3d WorldScale () const =0
 Get the world scale.
 
virtual math::Pose3d WorldToLocal (const math::Pose3d &_pose) const =0
 Convert given world pose to local pose.
 
- Public Member Functions inherited from Object
virtual ~Object ()
 Destructor.
 
virtual void Destroy ()=0
 Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior.
 
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.
 
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.
 
virtual void PostRender ()=0
 Post process this object and any of its children after rendering.
 
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.
 
virtual ScenePtr Scene () const =0
 Get the Scene that created this object.
 

Detailed Description

Represents a single posable node in the scene graph.

Constructor & Destructor Documentation

◆ ~Node()

virtual ~Node ( )
virtual

Destructor.

Member Function Documentation

◆ AddChild()

virtual void AddChild ( NodePtr  _child)
pure virtual

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

Parameters
[in]_childChild node to be added

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

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

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

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

◆ ChildCount()

virtual unsigned int ChildCount ( ) const
pure virtual

Get number of child nodes.

Returns
The number of child nodes

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

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

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

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

◆ HasParent()

virtual bool HasParent ( ) const
pure virtual

Determine if this Node is attached to another Node.

Returns
True if this Node has a parent Node

Implemented in OgreNode, and Ogre2Node.

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

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

◆ InitialLocalPose()

virtual math::Pose3d InitialLocalPose ( ) const
pure virtual

Get the initial local pose.

Returns
The initial local pose

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

◆ LocalPose()

virtual math::Pose3d LocalPose ( ) const
pure virtual

◆ LocalPosition()

virtual math::Vector3d LocalPosition ( ) const
pure virtual

Get the local position.

Returns
The local position

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

◆ LocalRotation()

virtual math::Quaterniond LocalRotation ( ) const
pure virtual

Get the local rotation.

Returns
The local rotation

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

◆ LocalScale()

virtual math::Vector3d LocalScale ( ) const
pure virtual

◆ Origin()

virtual math::Vector3d Origin ( ) const
pure virtual

Get position of origin.

Returns
The position of the origin

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

◆ Parent()

virtual NodePtr Parent ( ) const
pure virtual

Get the parent Node.

Returns
the parent Node

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

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

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

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

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

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

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

◆ Scale() [1/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ Scale() [2/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ Scale() [3/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 >, BaseNode< Ogre2Object >, 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, and Ogre2Node.

◆ SetLocalPose()

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

Set the local pose.

Parameters
[in]_poseNew local pose

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

◆ SetLocalPosition() [1/2]

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

Set the local position.

Parameters
[in]_positionNew local position

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

◆ SetLocalPosition() [2/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetLocalRotation() [1/3]

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

Set the local rotation.

Parameters
[in]_rotationNew local rotation

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

◆ SetLocalRotation() [2/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetLocalRotation() [3/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetLocalScale() [1/3]

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

Set the local scale.

Parameters
[in]_scaleNew local scale

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

◆ SetLocalScale() [2/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetLocalScale() [3/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetOrigin() [1/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetOrigin() [2/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 >, BaseNode< Ogre2Object >, 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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetWorldPose()

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

Set the world pose.

Parameters
[in]_poseNew world pose

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

◆ SetWorldPosition() [1/2]

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

Set the world position.

Parameters
[in]_positionNew world position

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

◆ SetWorldPosition() [2/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetWorldRotation() [1/3]

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

Set the world rotation.

Parameters
[in]_rotationNew world rotation

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

◆ SetWorldRotation() [2/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetWorldRotation() [3/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetWorldScale() [1/3]

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

Set the world scale.

Parameters
[in]_scaleNew world scale

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

◆ SetWorldScale() [2/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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ SetWorldScale() [3/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 >, BaseNode< Ogre2Object >, 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 >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.

◆ WorldPose()

virtual math::Pose3d WorldPose ( ) const
pure virtual

Get the world pose.

Returns
The world pose

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

◆ WorldPosition()

virtual math::Vector3d WorldPosition ( ) const
pure virtual

Get the world position.

Returns
The world position

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

◆ WorldRotation()

virtual math::Quaterniond WorldRotation ( ) const
pure virtual

Get the world rotation.

Returns
The world rotation

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

◆ WorldScale()

virtual math::Vector3d WorldScale ( ) const
pure virtual

Get the world scale.

Returns
The world scale

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

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


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