Represents a single posable node in the scene graph. More...
#include <gz/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 (const math::Vector3d &_scale)=0 |
Scale the current scale by the given scalars. 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 | 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 (const math::Vector3d &_position)=0 |
Set the local position. More... | |
virtual void | SetLocalPosition (double _x, double _y, double _z)=0 |
Set the local position. More... | |
virtual void | SetLocalRotation (const math::Quaterniond &_rotation)=0 |
Set the local rotation. 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 | SetLocalScale (const math::Vector3d &_scale)=0 |
Set the local scale. 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 | 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 | 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 | 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 (const math::Vector3d &_position)=0 |
Set the world position. More... | |
virtual void | SetWorldPosition (double _x, double _y, double _z)=0 |
Set the world position. More... | |
virtual void | SetWorldRotation (const math::Quaterniond &_rotation)=0 |
Set the world rotation. 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 | SetWorldScale (const math::Vector3d &_scale)=0 |
Set the world scale. 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 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()
|
virtual |
Destructor.
Member Function Documentation
◆ AddChild()
|
pure virtual |
Add the given node to this node. If the given node is already a child, no work will be done.
- Parameters
-
[in] _child Child node to be added
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ ChildById()
|
pure virtual |
Get node with given ID. If no child exists with given ID, NULL will be returned.
- Parameters
-
[in] _id ID of the desired node
- Returns
- The specified node
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ ChildByIndex()
|
pure virtual |
Get node at given index. If no child exists at given index, NULL will be returned.
- Parameters
-
[in] _index Index of the desired node
- Returns
- The specified node
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ ChildByName()
|
pure virtual |
Get node with given name. If no child exists with given name, NULL will be returned.
- Parameters
-
[in] _name Name of the desired node
- Returns
- The specified node
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ ChildCount()
|
pure virtual |
◆ HasChild()
|
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()
|
pure virtual |
Determine if node with given ID is an attached child.
- Parameters
-
[in] _id ID 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()
|
pure virtual |
Determine if node with given name is an attached child.
- Parameters
-
[in] _name Name 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()
|
pure virtual |
◆ HasUserData()
|
pure virtual |
Check if node has custom data.
- Parameters
-
[in] _key Unique key
- Returns
- True if node has custom data with the specified key
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ InheritScale()
|
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 >, Ogre2Node, and OgreNode.
◆ InitialLocalPose()
|
pure virtual |
◆ LocalPose()
|
pure virtual |
◆ LocalPosition()
|
pure virtual |
◆ LocalRotation()
|
pure virtual |
◆ LocalScale()
|
pure virtual |
Get the local scale.
- Returns
- The local scale
Implemented in BaseNode< T >, Ogre2Node, OgreNode, and BaseAxisVisual< T >.
◆ Origin()
|
pure virtual |
◆ Parent()
|
pure virtual |
◆ RemoveChild()
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] _child Child node to be removed
- Returns
- The removed child node
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ RemoveChildById()
|
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] _id ID of the child node to be removed
- Returns
- The removed child node
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ RemoveChildByIndex()
|
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] _index Index of the child node to be removed
- Returns
- The removed child node
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ RemoveChildByName()
|
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] _name Name of the child node to be removed
- Returns
- The removed child node
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ 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()
|
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]
|
pure virtual |
Scale the current scale by the given scalars.
- Parameters
-
[in] _scale Scalars to alter the current scale
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ Scale() [2/3]
|
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] _scale Scalar to alter the current scale
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ Scale() [3/3]
|
pure virtual |
Scale the current scale by the given scalars.
- Parameters
-
[in] _x Scalar to alter the current x-coordinate scale [in] _y Scalar to alter the current y-coordinate scale [in] _z Scalar to alter the current z-coordinate scale
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetInheritScale()
|
pure virtual |
◆ SetLocalPose()
|
pure virtual |
Set the local pose.
- Parameters
-
[in] _pose New local pose
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, BaseNode< OgreObject >, BaseVisual< T >, BaseVisual< Ogre2Node >, and BaseVisual< OgreNode >.
◆ SetLocalPosition() [1/2]
|
pure virtual |
Set the local position.
- Parameters
-
[in] _position New local position
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetLocalPosition() [2/2]
|
pure virtual |
Set the local position.
- Parameters
-
[in] _x X-coordinate [in] _y Y-coordinate [in] _z Z-coordinate
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetLocalRotation() [1/3]
|
pure virtual |
Set the local rotation.
- Parameters
-
[in] _rotation New local rotation
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetLocalRotation() [2/3]
|
pure virtual |
Set the local rotation.
- Parameters
-
[in] _r roll [in] _p pitch [in] _y yaw
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetLocalRotation() [3/3]
|
pure virtual |
Set the local rotation.
- Parameters
-
[in] _w W-coordinate [in] _x X-coordinate [in] _y Y-coordinate [in] _z Z-coordinate
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetLocalScale() [1/3]
|
pure virtual |
Set the local scale.
- Parameters
-
[in] _scale New local scale
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, BaseNode< OgreObject >, BaseAxisVisual< T >, BaseAxisVisual< OgreVisual >, and BaseAxisVisual< Ogre2Visual >.
◆ SetLocalScale() [2/3]
|
pure virtual |
Set the local scale. The given scale will be assigned to the x, y, and z coordinates.
- Parameters
-
[in] _scale New local scale
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetLocalScale() [3/3]
|
pure virtual |
Set the local scale.
- Parameters
-
[in] _x New x-coordinate scale [in] _y New y-coordinate scale [in] _z New z-coordinate scale
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetOrigin() [1/2]
|
pure virtual |
Set position of origin. The position should be relative to the original origin of the geometry.
- Parameters
-
[in] _origin New origin position
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetOrigin() [2/2]
|
pure virtual |
Set position of origin. The position should be relative to the original origin of the geometry.
- Parameters
-
[in] _x X-coordinate [in] _y Y-coordinate [in] _z Z-coordinate
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetUserData()
|
pure virtual |
Store any custom data associated with this node.
- Parameters
-
[in] _key Unique key [in] _value Value in any type
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetWorldPose()
|
pure virtual |
Set the world pose.
- Parameters
-
[in] _pose New world pose
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetWorldPosition() [1/2]
|
pure virtual |
Set the world position.
- Parameters
-
[in] _position New world position
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetWorldPosition() [2/2]
|
pure virtual |
Set the world position.
- Parameters
-
[in] _x X-coordinate [in] _y Y-coordinate [in] _z Z-coordinate
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetWorldRotation() [1/3]
|
pure virtual |
Set the world rotation.
- Parameters
-
[in] _rotation New world rotation
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetWorldRotation() [2/3]
|
pure virtual |
Set the world rotation.
- Parameters
-
[in] _r roll [in] _p pitch [in] _y yaw
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetWorldRotation() [3/3]
|
pure virtual |
Set the world rotation.
- Parameters
-
[in] _w W-coordinate [in] _x X-coordinate [in] _y Y-coordinate [in] _z Z-coordinate
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetWorldScale() [1/3]
|
pure virtual |
Set the world scale.
- Parameters
-
[in] _scale New world scale
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetWorldScale() [2/3]
|
pure virtual |
Set the world scale. The given scale will be assigned to the x, y, and z coordinates.
- Parameters
-
[in] _scale New world scale
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ SetWorldScale() [3/3]
|
pure virtual |
Set the world scale.
- Parameters
-
[in] _x New x-coordinate scale [in] _y New y-coordinate scale [in] _z New z-coordinate scale
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
◆ UserData()
|
pure virtual |
Get custom data stored in this node.
- Parameters
-
[in] _key Unique 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()
|
pure virtual |
◆ WorldPosition()
|
pure virtual |
◆ WorldRotation()
|
pure virtual |
◆ WorldScale()
|
pure virtual |
◆ WorldToLocal()
|
pure virtual |
Convert given world pose to local pose.
- Parameters
-
[in] _pose World pose to be converted
Implemented in BaseNode< T >, BaseNode< Ogre2Object >, and BaseNode< OgreObject >.
The documentation for this class was generated from the following file: