| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Public Types | Public Member Functions | Static Public Member Functions | List of all members
Ogre::BspSceneNode Class Reference
Plugins » BSPSceneManager

Specialisation of SceneNode for the BspSceneManager. More...

`#include <OgreBspSceneNode.h>`

Inheritance diagram for Ogre::BspSceneNode:
[legend]

## Public Types
typedef VectorIterator< ChildNodeMap > | ChildNodeIterator
typedef std::vector< Node * > | ChildNodeMap
typedef ConstVectorIterator< ChildNodeMap > | ConstChildNodeIterator
typedef ConstVectorIterator< ObjectMap > | ConstObjectIterator
typedef VectorIterator< ObjectMap > | ObjectIterator
typedef std::vector< MovableObject * > | ObjectMap
enum | TransformSpace { TS_LOCAL, TS_PARENT, TS_WORLD }
| Enumeration denoting the spaces which a transform can be relative to. More...

## Public Member Functions
| BspSceneNode (SceneManager *creator)
| BspSceneNode (SceneManager *creator, const String &name)
void | _addBoundingBoxToQueue (RenderQueue *queue)
| Add the bounding box to the rendering queue. More...
void | _autoTrack (void)
| Internal method used by OGRE to update auto-tracking cameras. More...
void | _findVisibleObjects (Camera *cam, RenderQueue *queue, VisibleObjectsBoundsInfo *visibleBounds, bool includeChildren=true, bool displayNodes=false, bool onlyShadowCasters=false)
| Internal method which locates any visible objects attached to this node and adds them to the passed in queue. More...
const Quaternion & | _getDerivedOrientation (void) const
| Gets the orientation of the node as derived from all parents. More...
const Vector3 & | _getDerivedPosition (void) const
| Gets the position of the node as derived from all parents. More...
const Vector3 & | _getDerivedScale (void) const
| Gets the scaling factor of the node as derived from all parents. More...
const Affine3 & | _getFullTransform (void) const
| Gets the full transformation matrix for this node. More...
const AxisAlignedBox & | _getWorldAABB (void) const
| Gets the axis-aligned bounding box of this node (and hence all subnodes). More...
void | _notifyRootNode (void)
| Notifies this SceneNode that it is the root scene node. More...
void | _setDerivedOrientation (const Quaternion &q)
| Sets the final world orientation of the node directly. More...
void | _setDerivedPosition (const Vector3 &pos)
| Sets the final world position of the node directly. More...
void | _update (bool updateChildren, bool parentHasChanged)
| Overridden from Node. More...
virtual void | _updateBounds (void)
| Tells the SceneNode to update the world bound info it stores. More...
void | addChild (Node *child)
| Adds a (precreated) child scene node to this node. More...
virtual void | attachObject (MovableObject *obj)
| Adds an instance of a scene object to this node. More...
void | cancelUpdate (Node *child)
| Called by children to notify their parent that they no longer need an update. More...
Vector3 | convertLocalToWorldDirection (const Vector3 &localDir, bool useScale)
| Gets the world direction of a point in the node local space useful for simple transforms that don't require a child node. More...
Quaternion | convertLocalToWorldOrientation (const Quaternion &localOrientation)
| Gets the world orientation of an orientation in the node local space useful for simple transforms that don't require a child node. More...
Vector3 | convertLocalToWorldPosition (const Vector3 &localPos)
| Gets the world position of a point in the node local space useful for simple transforms that don't require a child node. More...
Vector3 | convertWorldToLocalDirection (const Vector3 &worldDir, bool useScale)
| Gets the local direction, relative to this node, of the given world-space direction. More...
Quaternion | convertWorldToLocalOrientation (const Quaternion &worldOrientation)
| Gets the local orientation, relative to this node, of the given world-space orientation. More...
Vector3 | convertWorldToLocalPosition (const Vector3 &worldPos)
| Gets the local position, relative to this node, of the given world-space position. More...
virtual Node * | createChild (const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY)
| Creates an unnamed new Node as a child of this node. More...
virtual Node * | createChild (const String &name, const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY)
| Creates a new named Node as a child of this node. More...
virtual SceneNode * | createChildSceneNode (const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY)
| Creates an unnamed new SceneNode as a child of this node. More...
virtual SceneNode * | createChildSceneNode (const String &name, const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY)
| Creates a new named SceneNode as a child of this node. More...
void | detachAllObjects (void)
| Detaches all objects attached to this node. More...
MovableObject * | detachObject (unsigned short index)
| Detaches the indexed object from this scene node. More...
MovableObject * | detachObject (const String &name)
| Detaches the named object from this node and returns a pointer to it. More...
virtual void | detachObject (MovableObject *obj)
| Detaches an object by pointer. More...
void | findLights (LightList &destList, Real radius, uint32 lightMask=0xFFFFFFFF) const
| Allows retrieval of the nearest lights to the centre of this SceneNode. More...
void | flipVisibility (bool cascade=true)
| Inverts the visibility of all objects attached to this node. More...
MovableObject * | getAttachedObject (unsigned short index)
| Retrieves a pointer to an attached object. More...
MovableObject * | getAttachedObject (const String &name)
| Retrieves a pointer to an attached object. More...
ObjectIterator | getAttachedObjectIterator (void)
| Retrieves an iterator which can be used to efficiently step through the objects attached to this node. More...
ConstObjectIterator | getAttachedObjectIterator (void) const
| Retrieves an iterator which can be used to efficiently step through the objects attached to this node. More...
const ObjectMap & | getAttachedObjects () const
| The MovableObjects associated with this node. More...
const Vector3 & | getAutoTrackLocalDirection (void)
| Get the auto tracking local direction for this node, if it is auto tracking. More...
const Vector3 & | getAutoTrackOffset (void)
| Get the auto tracking offset for this node, if the node is auto tracking. More...
SceneNode * | getAutoTrackTarget (void)
| Get the auto tracking target for this node, if any. More...
Node * | getChild (unsigned short index) const
| Gets a pointer to a child node. More...
Node * | getChild (const String &name) const
| Gets a pointer to a named child node. More...
ChildNodeIterator | getChildIterator (void)
| Retrieves an iterator for efficiently looping through all children of this node. More...
ConstChildNodeIterator | getChildIterator (void) const
const ChildNodeMap & | getChildren () const
| List of sub-nodes of this Node. More...
SceneManager * | getCreator (void) const
| Gets the creator of this scene node. More...
DebugRenderable * | getDebugRenderable ()
| As Node::getDebugRenderable, except scaling is automatically determined. More...
DebugRenderable * | getDebugRenderable (Real scaling)
| Get a debug renderable for rendering the Node. More...
DebugRenderable * | getDebugRenderable (Real scaling)
| Get a debug renderable for rendering the Node. More...
bool | getInheritOrientation (void) const
| Returns true if this node is affected by orientation applied to the parent node. More...
bool | getInheritScale (void) const
| Returns true if this node is affected by scaling factors applied to the parent node. More...
const Quaternion & | getInitialOrientation (void) const
| Gets the initial orientation of this node, see setInitialState for more info. More...
const Vector3 & | getInitialPosition (void) const
| Gets the initial position of this node, see setInitialState for more info. More...
const Vector3 & | getInitialScale (void) const
| Gets the initial position of this node, see setInitialState for more info. More...
Listener * | getListener (void) const
| Gets the current listener for this Node. More...
Matrix3 | getLocalAxes (void) const
| Gets a matrix whose columns are the local axes based on the nodes orientation relative to it's parent. More...
const String & | getName (void) const
| Returns the name of the node. More...
const Quaternion & | getOrientation () const
| Returns a quaternion representing the nodes orientation. More...
Node * | getParent (void) const
| Gets this node's parent (NULL if this is the root). More...
SceneNode * | getParentSceneNode (void) const
| Gets the parent of this SceneNode. More...
const Vector3 & | getPosition (void) const
| Gets the position of the node relative to it's parent. More...
const Vector3 & | getScale (void) const
| Gets the scaling factor of this node. More...
bool | getShowBoundingBox () const
| This allows scene managers to determine if the node's bounding box should be added to the rendering queue. More...
Real | getSquaredViewDepth (const Camera *cam) const
| Helper function, get the squared view depth. More...
const Any & | getUserAny (void) const
UserObjectBindings & | getUserObjectBindings ()
| Return an instance of user objects binding associated with this class. More...
const UserObjectBindings & | getUserObjectBindings () const
| Return an instance of user objects binding associated with this class. More...
void | hideBoundingBox (bool bHide)
| Allows the overriding of the node's bounding box over the SceneManager's bounding box setting. More...
bool | isInSceneGraph (void) const
| Determines whether this node is in the scene graph, i.e. More...
void | lookAt (const Vector3 &targetPoint, TransformSpace relativeTo, const Vector3 &localDirectionVector=Vector3::NEGATIVE_UNIT_Z)
| Points the local -Z direction of this node at a point in space. More...
virtual void | needUpdate (bool forceParentUpdate=false)
| To be called in the event of transform changes to this node that require it's recalculation. More...
unsigned short | numAttachedObjects (void) const
| Reports the number of objects attached to this node. More...
uint16 | numChildren (void) const
| Reports the number of child nodes under this one. More...
virtual void | pitch (const Radian &angle, TransformSpace relativeTo=TS_LOCAL)
| Rotate the node around the X-axis. More...
virtual void | removeAllChildren (void)
| Removes all child Nodes attached to this node. More...
void | removeAndDestroyAllChildren (void)
| Removes and destroys all children of this node. More...
void | removeAndDestroyChild (const String &name)
| This method removes and destroys the named child and all of its children. More...
void | removeAndDestroyChild (unsigned short index)
void | removeAndDestroyChild (SceneNode *child)
virtual Node * | removeChild (unsigned short index)
| Drops the specified child from this node. More...
virtual Node * | removeChild (Node *child)
virtual Node * | removeChild (const String &name)
| Drops the named child from this node. More...
void | requestUpdate (Node *child, bool forceParentUpdate=false)
| Called by children to notify their parent that they need an update. More...
void | resetOrientation (void)
| Resets the nodes orientation (local axes as world axes, no rotation). More...
void | resetToInitialState (void)
| Resets the position / orientation / scale of this node to it's initial state, see setInitialState for more info. More...
virtual void | roll (const Radian &angle, TransformSpace relativeTo=TS_LOCAL)
| Rotate the node around the Z-axis. More...
void | rotate (const Vector3 &axis, const Radian &angle, TransformSpace relativeTo=TS_LOCAL)
| Rotate the node around an arbitrary axis. More...
void | rotate (const Quaternion &q, TransformSpace relativeTo=TS_LOCAL)
| Rotate the node around an aritrary axis using a Quarternion. More...
void | scale (const Vector3 &scale)
| Scales the node, combining it's current scale with the passed in scaling factor. More...
void | scale (Real x, Real y, Real z)
void | setAutoTracking (bool enabled, SceneNode *const target=0, const Vector3 &localDirectionVector=Vector3::NEGATIVE_UNIT_Z, const Vector3 &offset=Vector3::ZERO)
| Enables / disables automatic tracking of another SceneNode. More...
void | setDebugDisplayEnabled (bool enabled, bool cascade=true)
| Tells all objects attached to this node whether to display their debug information or not. More...
void | setDirection (Real x, Real y, Real z, TransformSpace relativeTo=TS_LOCAL, const Vector3 &localDirectionVector=Vector3::NEGATIVE_UNIT_Z)
| Sets the node's direction vector ie it's local -z. More...
void | setDirection (const Vector3 &vec, TransformSpace relativeTo=TS_LOCAL, const Vector3 &localDirectionVector=Vector3::NEGATIVE_UNIT_Z)
void | setFixedYawAxis (bool useFixed, const Vector3 &fixedAxis=Vector3::UNIT_Y)
| Tells the node whether to yaw around it's own local Y axis or a fixed axis of choice. More...
void | setInheritOrientation (bool inherit)
| Tells the node whether it should inherit orientation from it's parent node. More...
void | setInheritScale (bool inherit)
| Tells the node whether it should inherit scaling factors from it's parent node. More...
void | setInitialState (void)
| Sets the current transform of this node to be the 'initial state' ie that position / orientation / scale to be used as a basis for delta values used in keyframe animation. More...
void | setListener (Listener *listener)
| Sets a listener for this Node. More...
void | setOrientation (const Quaternion &q)
| Sets the orientation of this node via a quaternion. More...
void | setOrientation (Real w, Real x, Real y, Real z)
void | setPosition (const Vector3 &pos)
| Sets the position of the node relative to it's parent. More...
void | setPosition (Real x, Real y, Real z)
void | setScale (const Vector3 &scale)
| Sets the scaling factor applied to this node. More...
void | setScale (Real x, Real y, Real z)
void | setUserAny (const Any &anything)
void | setVisible (bool visible, bool cascade=true)
| Makes all objects attached to this node become visible / invisible. More...
void | showBoundingBox (bool bShow)
| Allows the showing of the node's bounding box. More...
void | translate (const Vector3 &d, TransformSpace relativeTo=TS_PARENT)
| Moves the node along the Cartesian axes. More...
void | translate (Real x, Real y, Real z, TransformSpace relativeTo=TS_PARENT)
void | translate (const Matrix3 &axes, const Vector3 &move, TransformSpace relativeTo=TS_PARENT)
| Moves the node along arbitrary axes. More...
void | translate (const Matrix3 &axes, Real x, Real y, Real z, TransformSpace relativeTo=TS_PARENT)
void | yaw (const Radian &angle, TransformSpace relativeTo=TS_LOCAL)
| Rotate the node around the Y-axis. More...

## Static Public Member Functions
static void | processQueuedUpdates (void)
| Process queued 'needUpdate' calls. More...
static void | queueNeedUpdate (Node *n)
| Queue a 'needUpdate' call to a node safely. More...

## Detailed Description

Specialisation of SceneNode for the BspSceneManager.

Remarks
  This specialisation of SceneNode is to enable information about the leaf node in which any attached objects are held is stored for use in the visibility determination.

  Do not confuse this class with BspNode, which reflects nodes in the BSP tree itself. This class is just like a regular SceneNode, except that it should be locating BspNode leaf elements which objects should be included in. Note that because objects are movable, and thus may very well be overlapping the boundaries of more than one leaf, that it is possible that an object attached to one BspSceneNode may actually be associated with more than one BspNode.

## Member Typedef Documentation

## ◆ ObjectMap

typedef std::vector<MovableObject*> Ogre::SceneNode::ObjectMap
| inherited

## ◆ ObjectIterator

typedef VectorIterator<ObjectMap> Ogre::SceneNode::ObjectIterator
| inherited

## ◆ ConstObjectIterator

typedef ConstVectorIterator<ObjectMap> Ogre::SceneNode::ConstObjectIterator
| inherited

## ◆ ChildNodeMap

typedef std::vector<Node*> Ogre::Node::ChildNodeMap
| inherited

## ◆ ChildNodeIterator

typedef VectorIterator<ChildNodeMap> Ogre::Node::ChildNodeIterator
| inherited

## ◆ ConstChildNodeIterator

typedef ConstVectorIterator<ChildNodeMap> Ogre::Node::ConstChildNodeIterator
| inherited

## Member Enumeration Documentation

## ◆ TransformSpace

enum Ogre::Node::TransformSpace
| inherited

Enumeration denoting the spaces which a transform can be relative to.

Enumerator
TS_LOCAL | Transform is relative to the local space.
TS_PARENT | Transform is relative to the space of the parent node.
TS_WORLD | Transform is relative to world space.

## Constructor & Destructor Documentation

## ◆ BspSceneNode() [1/2]

Ogre::BspSceneNode::BspSceneNode | ( | SceneManager * | creator | ) |
| inline

## ◆ BspSceneNode() [2/2]

Ogre::BspSceneNode::BspSceneNode | ( | SceneManager * | creator,
|  | const String & | name
| ) |  |
| inline

## Member Function Documentation

## ◆ _update()

void Ogre::BspSceneNode::_update | ( | bool | updateChildren,
|  | bool | parentHasChanged
| ) |  |
| virtual

Overridden from Node.

Reimplemented from Ogre::SceneNode.

## ◆ detachObject() [1/3]

MovableObject* Ogre::BspSceneNode::detachObject | ( | unsigned short | index | ) |
| virtual

Detaches the indexed object from this scene node.

Remarks
  Detaches by index, see the alternate version to detach by name. Object indexes may change as other objects are added / removed.

Reimplemented from Ogre::SceneNode.

## ◆ detachObject() [2/3]

MovableObject* Ogre::BspSceneNode::detachObject | ( | const String & | name | ) |
| virtual

Detaches the named object from this node and returns a pointer to it.

Reimplemented from Ogre::SceneNode.

## ◆ detachAllObjects()

void Ogre::BspSceneNode::detachAllObjects | ( | void |  | ) |
| virtual

Detaches all objects attached to this node.

Reimplemented from Ogre::SceneNode.

## ◆ attachObject()

virtual void Ogre::SceneNode::attachObject | ( | MovableObject * | obj | ) |
| virtual inherited

Adds an instance of a scene object to this node.

Remarks
  Scene objects can include Entity objects, Camera objects, Light objects, ParticleSystem objects etc. Anything that subclasses from MovableObject.

## ◆ numAttachedObjects()

unsigned short Ogre::SceneNode::numAttachedObjects | ( | void |  | ) | const
| inherited

Reports the number of objects attached to this node.

Deprecated:
  use getAttachedObjects()

## ◆ getAttachedObject() [1/2]

MovableObject* Ogre::SceneNode::getAttachedObject | ( | unsigned short | index | ) |
| inherited

Retrieves a pointer to an attached object.

Remarks
  Retrieves by index, see alternate version to retrieve by name. The index of an object may change as other objects are added / removed.

Deprecated:
  use getAttachedObjects()

## ◆ getAttachedObject() [2/2]

MovableObject* Ogre::SceneNode::getAttachedObject | ( | const String & | name | ) |
| inherited

Retrieves a pointer to an attached object.

Remarks
  Retrieves by object name, see alternate version to retrieve by index.

## ◆ detachObject() [3/3]

virtual void Ogre::SceneNode::detachObject | ( | MovableObject * | obj | ) |
| virtual inherited

Detaches an object by pointer.

## ◆ isInSceneGraph()

bool Ogre::SceneNode::isInSceneGraph | ( | void |  | ) | const
| inline inherited

Determines whether this node is in the scene graph, i.e.

whether it's ultimate ancestor is the root scene node.

## ◆ _notifyRootNode()

void Ogre::SceneNode::_notifyRootNode | ( | void |  | ) |
| inline inherited

Notifies this SceneNode that it is the root scene node.

Remarks
  Only SceneManager should call this!

## ◆ _updateBounds()

virtual void Ogre::SceneNode::_updateBounds | ( | void |  | ) |
| virtual inherited

Tells the SceneNode to update the world bound info it stores.

## ◆ _findVisibleObjects()

void Ogre::SceneNode::_findVisibleObjects | ( | Camera * | cam,
|  | RenderQueue * | queue,
|  | VisibleObjectsBoundsInfo * | visibleBounds,
|  | bool | includeChildren = `true`,
|  | bool | displayNodes = `false`,
|  | bool | onlyShadowCasters = `false`
| ) |  |
| inherited

Internal method which locates any visible objects attached to this node and adds them to the passed in queue.

Remarks
  Should only be called by a SceneManager implementation, and only after the _updat method has been called to ensure transforms and world bounds are up to date. SceneManager implementations can choose to let the search cascade automatically, or choose to prevent this and select nodes themselves based on some other criteria.

Parameters

  cam | The active camera
  queue | The SceneManager's rendering queue
  visibleBounds | bounding information created on the fly containing all visible objects by the camera
  includeChildren | If true, the call is cascaded down to all child nodes automatically.
  displayNodes | If true, the nodes themselves are rendered as a set of 3 axes as well as the objects being rendered. For debugging purposes.

## ◆ _getWorldAABB()

const AxisAlignedBox& Ogre::SceneNode::_getWorldAABB | ( | void |  | ) | const
| inline inherited

Gets the axis-aligned bounding box of this node (and hence all subnodes).

Remarks
  Recommended only if you are extending a SceneManager, because the bounding box returned from this method is only up to date after the SceneManager has called _update.

## ◆ getAttachedObjectIterator() [1/2]

ObjectIterator Ogre::SceneNode::getAttachedObjectIterator | ( | void |  | ) |
| inline inherited

Retrieves an iterator which can be used to efficiently step through the objects attached to this node.

Remarks
  This is a much faster way to go through all the objects attached to the node than using getAttachedObject. But the iterator returned is only valid until a change is made to the collection (ie an addition or removal) so treat the returned iterator as transient, and don't add / remove items as you go through the iterator, save changes until the end, or retrieve a new iterator after making the change. Making changes to the object returned through the iterator is OK though.

Deprecated:
  use getAttachedObjects()

## ◆ getAttachedObjectIterator() [2/2]

ConstObjectIterator Ogre::SceneNode::getAttachedObjectIterator | ( | void |  | ) | const
| inline inherited

Retrieves an iterator which can be used to efficiently step through the objects attached to this node.

Remarks
  This is a much faster way to go through all the objects attached to the node than using getAttachedObject. But the iterator returned is only valid until a change is made to the collection (ie an addition or removal) so treat the returned iterator as transient, and don't add / remove items as you go through the iterator, save changes until the end, or retrieve a new iterator after making the change. Making changes to the object returned through the iterator is OK though.

Deprecated:
  use getAttachedObjects()

## ◆ getAttachedObjects()

const ObjectMap& Ogre::SceneNode::getAttachedObjects | ( |  | ) | const
| inline inherited

The MovableObjects associated with this node.

## ◆ getCreator()

SceneManager* Ogre::SceneNode::getCreator | ( | void |  | ) | const
| inline inherited

Gets the creator of this scene node.

Remarks
  This method returns the SceneManager which created this node. This can be useful for destroying this node.

## ◆ removeAndDestroyChild() [1/3]

void Ogre::SceneNode::removeAndDestroyChild | ( | const String & | name | ) |
| inherited

This method removes and destroys the named child and all of its children.

Remarks
  Unlike removeChild, which removes a single named child from this node but does not destroy it, this method destroys the child and all of it's children.

  Use this if you wish to recursively destroy a node as well as detaching it from it's parent. Note that any objects attached to the nodes will be detached but will not themselves be destroyed.

## ◆ removeAndDestroyChild() [2/3]

void Ogre::SceneNode::removeAndDestroyChild | ( | unsigned short | index | ) |
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ removeAndDestroyChild() [3/3]

void Ogre::SceneNode::removeAndDestroyChild | ( | SceneNode * | child | ) |
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ removeAndDestroyAllChildren()

void Ogre::SceneNode::removeAndDestroyAllChildren | ( | void |  | ) |
| inherited

Removes and destroys all children of this node.

Remarks
  Use this to destroy all child nodes of this node and remove them from the scene graph. Note that all objects attached to this node will be detached but will not be destroyed.

## ◆ showBoundingBox()

void Ogre::SceneNode::showBoundingBox | ( | bool | bShow | ) |
| inline inherited

Allows the showing of the node's bounding box.

Remarks
  Use this to show or hide the bounding box of the node.

## ◆ hideBoundingBox()

void Ogre::SceneNode::hideBoundingBox | ( | bool | bHide | ) |
| inline inherited

Allows the overriding of the node's bounding box over the SceneManager's bounding box setting.

Remarks
  Use this to override the bounding box setting of the node.

## ◆ _addBoundingBoxToQueue()

void Ogre::SceneNode::_addBoundingBoxToQueue | ( | RenderQueue * | queue | ) |
| inherited

Add the bounding box to the rendering queue.

## ◆ getShowBoundingBox()

bool Ogre::SceneNode::getShowBoundingBox | ( |  | ) | const
| inline inherited

This allows scene managers to determine if the node's bounding box should be added to the rendering queue.

Remarks
  Scene Managers that implement their own _findVisibleObjects will have to check this flag and then use _addBoundingBoxToQueue to add the bounding box wireframe.

## ◆ createChildSceneNode() [1/2]

virtual SceneNode* Ogre::SceneNode::createChildSceneNode | ( | const Vector3 & | translate = `Vector3::ZERO`,
|  | const Quaternion & | rotate = `Quaternion::IDENTITY`
| ) |  |
| virtual inherited

Creates an unnamed new SceneNode as a child of this node.

Parameters

  translate | Initial translation offset of child relative to parent
  rotate | Initial rotation relative to parent

Reimplemented in Ogre::PCZSceneNode.

## ◆ createChildSceneNode() [2/2]

virtual SceneNode* Ogre::SceneNode::createChildSceneNode | ( | const String & | name,
|  | const Vector3 & | translate = `Vector3::ZERO`,
|  | const Quaternion & | rotate = `Quaternion::IDENTITY`
| ) |  |
| virtual inherited

Creates a new named SceneNode as a child of this node.

Remarks
  This creates a child node with a given name, which allows you to look the node up from the parent which holds this collection of nodes.

Parameters

  translate | Initial translation offset of child relative to parent
  rotate | Initial rotation relative to parent

Reimplemented in Ogre::PCZSceneNode.

## ◆ findLights()

void Ogre::SceneNode::findLights | ( | LightList & | destList,
|  | Real | radius,
|  | uint32 | lightMask = `0xFFFFFFFF`
| ) |  | const
| inherited

Allows retrieval of the nearest lights to the centre of this SceneNode.

Remarks
  This method allows a list of lights, ordered by proximity to the centre of this SceneNode, to be retrieved. Can be useful when implementing MovableObject::queryLights and Renderable::getLights.

  Note that only lights could be affecting the frustum will take into account, which cached in scene manager.

See also
  SceneManager::_getLightsAffectingFrustum
  SceneManager::_populateLightList

Parameters

  destList | List to be populated with ordered set of lights; will be cleared by this method before population.
  radius | Parameter to specify lights intersecting a given radius of this SceneNode's centre.
  lightMask | The mask with which to include / exclude lights

## ◆ setFixedYawAxis()

void Ogre::SceneNode::setFixedYawAxis | ( | bool | useFixed,
|  | const Vector3 & | fixedAxis = `Vector3::UNIT_Y`
| ) |  |
| inherited

Tells the node whether to yaw around it's own local Y axis or a fixed axis of choice.

Remarks
  This method allows you to change the yaw behaviour of the node - by default, it yaws around it's own local Y axis when told to yaw with TS_LOCAL, this makes it yaw around a fixed axis. You only really need this when you're using auto tracking (see setAutoTracking, because when you're manually rotating a node you can specify the TransformSpace in which you wish to work anyway.

Parameters

  useFixed | If true, the axis passed in the second parameter will always be the yaw axis no matter what the node orientation. If false, the node returns to it's default behaviour.
  fixedAxis | The axis to use if the first parameter is true.

## ◆ yaw()

void Ogre::SceneNode::yaw | ( | const Radian & | angle,
|  | TransformSpace | relativeTo = `TS_LOCAL`
| ) |  |
| virtual inherited

Rotate the node around the Y-axis.

Reimplemented from Ogre::Node.

## ◆ setDirection() [1/2]

void Ogre::SceneNode::setDirection | ( | Real | x,
|  | Real | y,
|  | Real | z,
|  | TransformSpace | relativeTo = `TS_LOCAL`,
|  | const Vector3 & | localDirectionVector = `Vector3::NEGATIVE_UNIT_Z`
| ) |  |
| inherited

Sets the node's direction vector ie it's local -z.

Remarks
  Note that the 'up' vector for the orientation will automatically be recalculated based on the current 'up' vector (i.e. the roll will remain the same). If you need more control, use setOrientation.

Parameters

  x,y,z | The components of the direction vector
  relativeTo | The space in which this direction vector is expressed
  localDirectionVector | The vector which normally describes the natural direction of the node, usually -Z

## ◆ setDirection() [2/2]

void Ogre::SceneNode::setDirection | ( | const Vector3 & | vec,
|  | TransformSpace | relativeTo = `TS_LOCAL`,
|  | const Vector3 & | localDirectionVector = `Vector3::NEGATIVE_UNIT_Z`
| ) |  |
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ lookAt()

void Ogre::SceneNode::lookAt | ( | const Vector3 & | targetPoint,
|  | TransformSpace | relativeTo,
|  | const Vector3 & | localDirectionVector = `Vector3::NEGATIVE_UNIT_Z`
| ) |  |
| inherited

Points the local -Z direction of this node at a point in space.

Parameters

  targetPoint | A vector specifying the look at point.
  relativeTo | The space in which the point resides
  localDirectionVector | The vector which normally describes the natural direction of the node, usually -Z

## ◆ setAutoTracking()

void Ogre::SceneNode::setAutoTracking | ( | bool | enabled,
|  | SceneNode *const | target = `0`,
|  | const Vector3 & | localDirectionVector = `Vector3::NEGATIVE_UNIT_Z`,
|  | const Vector3 & | offset = `Vector3::ZERO`
| ) |  |
| inherited

Enables / disables automatic tracking of another SceneNode.

Remarks
  If you enable auto-tracking, this SceneNode will automatically rotate to point it's -Z at the target SceneNode every frame, no matter how it or the other SceneNode move. Note that by default the -Z points at the origin of the target SceneNode, if you want to tweak this, provide a vector in the 'offset' parameter and the target point will be adjusted.

Parameters

  enabled | If true, tracking will be enabled and the next parameter cannot be null. If false tracking will be disabled and the current orientation will be maintained.
  target | Pointer to the SceneNode to track. Make sure you don't delete this SceneNode before turning off tracking (e.g. SceneManager::clearScene will delete it so be careful of this). Can be null if and only if the enabled param is false.
  localDirectionVector | The local vector considered to be the usual 'direction' of the node; normally the local -Z but can be another direction.
  offset | If supplied, this is the target point in local space of the target node instead of the origin of the target node. Good for fine tuning the look at point.

## ◆ getAutoTrackTarget()

SceneNode* Ogre::SceneNode::getAutoTrackTarget | ( | void |  | ) |
| inline inherited

Get the auto tracking target for this node, if any.

## ◆ getAutoTrackOffset()

const Vector3& Ogre::SceneNode::getAutoTrackOffset | ( | void |  | ) |
| inline inherited

Get the auto tracking offset for this node, if the node is auto tracking.

## ◆ getAutoTrackLocalDirection()

const Vector3& Ogre::SceneNode::getAutoTrackLocalDirection | ( | void |  | ) |
| inline inherited

Get the auto tracking local direction for this node, if it is auto tracking.

## ◆ _autoTrack()

void Ogre::SceneNode::_autoTrack | ( | void |  | ) |
| inherited

Internal method used by OGRE to update auto-tracking cameras.

## ◆ getParentSceneNode()

SceneNode* Ogre::SceneNode::getParentSceneNode | ( | void |  | ) | const
| inherited

Gets the parent of this SceneNode.

## ◆ setVisible()

void Ogre::SceneNode::setVisible | ( | bool | visible,
|  | bool | cascade = `true`
| ) |  |
| inherited

Makes all objects attached to this node become visible / invisible.

Remarks
  This is a shortcut to calling setVisible() on the objects attached to this node, and optionally to all objects attached to child nodes.

Parameters

  visible | Whether the objects are to be made visible or invisible
  cascade | If true, this setting cascades into child nodes too.

## ◆ flipVisibility()

void Ogre::SceneNode::flipVisibility | ( | bool | cascade = `true` | ) |
| inherited

Inverts the visibility of all objects attached to this node.

Remarks
  This is a shortcut to calling setVisible(!isVisible()) on the objects attached to this node, and optionally to all objects attached to child nodes.

Parameters

  cascade | If true, this setting cascades into child nodes too.

## ◆ setDebugDisplayEnabled()

void Ogre::SceneNode::setDebugDisplayEnabled | ( | bool | enabled,
|  | bool | cascade = `true`
| ) |  |
| inherited

Tells all objects attached to this node whether to display their debug information or not.

Remarks
  This is a shortcut to calling setDebugDisplayEnabled() on the objects attached to this node, and optionally to all objects attached to child nodes.

Parameters

  enabled | Whether the objects are to display debug info or not
  cascade | If true, this setting cascades into child nodes too.

## ◆ getDebugRenderable() [1/3]

DebugRenderable* Ogre::SceneNode::getDebugRenderable | ( |  | ) |
| inherited

As Node::getDebugRenderable, except scaling is automatically determined.

## ◆ getDebugRenderable() [2/3]

DebugRenderable* Ogre::Node::getDebugRenderable
| inherited

Get a debug renderable for rendering the Node.

## ◆ getDebugRenderable() [3/3]

DebugRenderable* Ogre::Node::getDebugRenderable | ( | Real | scaling | ) |
| inherited

Get a debug renderable for rendering the Node.

## ◆ getName()

const String& Ogre::Node::getName | ( | void |  | ) | const
| inline inherited

Returns the name of the node.

## ◆ getParent()

Node* Ogre::Node::getParent | ( | void |  | ) | const
| inline inherited

Gets this node's parent (NULL if this is the root).

## ◆ getOrientation()

const Quaternion& Ogre::Node::getOrientation | ( |  | ) | const
| inline inherited

Returns a quaternion representing the nodes orientation.

## ◆ setOrientation() [1/2]

void Ogre::Node::setOrientation | ( | const Quaternion & | q | ) |
| inherited

Sets the orientation of this node via a quaternion.

Remarks
  Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms.

  Note that rotations are oriented around the node's origin.

## ◆ setOrientation() [2/2]

void Ogre::Node::setOrientation | ( | Real | w,
|  | Real | x,
|  | Real | y,
|  | Real | z
| ) |  |
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ resetOrientation()

void Ogre::Node::resetOrientation | ( | void |  | ) |
| inherited

Resets the nodes orientation (local axes as world axes, no rotation).

Remarks
  Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms.

  Note that rotations are oriented around the node's origin.

## ◆ setPosition() [1/2]

void Ogre::Node::setPosition | ( | const Vector3 & | pos | ) |
| inherited

Sets the position of the node relative to it's parent.

## ◆ setPosition() [2/2]

void Ogre::Node::setPosition | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) |  |
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ getPosition()

const Vector3& Ogre::Node::getPosition | ( | void |  | ) | const
| inline inherited

Gets the position of the node relative to it's parent.

## ◆ setScale() [1/2]

void Ogre::Node::setScale | ( | const Vector3 & | scale | ) |
| inherited

Sets the scaling factor applied to this node.

Remarks
  Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms.

  Note that like rotations, scalings are oriented around the node's origin.

## ◆ setScale() [2/2]

void Ogre::Node::setScale | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) |  |
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ getScale()

const Vector3& Ogre::Node::getScale | ( | void |  | ) | const
| inline inherited

Gets the scaling factor of this node.

## ◆ setInheritOrientation()

void Ogre::Node::setInheritOrientation | ( | bool | inherit | ) |
| inherited

Tells the node whether it should inherit orientation from it's parent node.

Remarks
  Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms.

Parameters

  inherit | If true, this node's orientation will be affected by its parent's orientation. If false, it will not be affected.

## ◆ getInheritOrientation()

bool Ogre::Node::getInheritOrientation | ( | void |  | ) | const
| inline inherited

Returns true if this node is affected by orientation applied to the parent node.

Remarks
  Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms.
  See setInheritOrientation for more info.

## ◆ setInheritScale()

void Ogre::Node::setInheritScale | ( | bool | inherit | ) |
| inherited

Tells the node whether it should inherit scaling factors from it's parent node.

Remarks
  Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms.

Parameters

  inherit | If true, this node's scale will be affected by its parent's scale. If false, it will not be affected.

## ◆ getInheritScale()

bool Ogre::Node::getInheritScale | ( | void |  | ) | const
| inline inherited

Returns true if this node is affected by scaling factors applied to the parent node.

Remarks
  See setInheritScale for more info.

## ◆ scale() [1/2]

void Ogre::Node::scale | ( | const Vector3 & | scale | ) |
| inherited

Scales the node, combining it's current scale with the passed in scaling factor.

Remarks
  This method applies an extra scaling factor to the node's existing scale, (unlike setScale which overwrites it) combining it's current scale with the new one. E.g. calling this method twice with Vector3(2,2,2) would have the same effect as setScale(Vector3(4,4,4)) if the existing scale was 1.

  Note that like rotations, scalings are oriented around the node's origin.

## ◆ scale() [2/2]

void Ogre::Node::scale | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) |  |
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ translate() [1/4]

void Ogre::Node::translate | ( | const Vector3 & | d,
|  | TransformSpace | relativeTo = `TS_PARENT`
| ) |  |
| inherited

Moves the node along the Cartesian axes.

  This method moves the node by the supplied vector along the world Cartesian axes, i.e. along world x,y,z

Parameters

  d | Vector with x,y,z values representing the translation.
  relativeTo | The space which this transform is relative to.

## ◆ translate() [2/4]

void Ogre::Node::translate | ( | Real | x,
|  | Real | y,
|  | Real | z,
|  | TransformSpace | relativeTo = `TS_PARENT`
| ) |  |
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ translate() [3/4]

void Ogre::Node::translate | ( | const Matrix3 & | axes,
|  | const Vector3 & | move,
|  | TransformSpace | relativeTo = `TS_PARENT`
| ) |  |
| inherited

Moves the node along arbitrary axes.

Remarks
  This method translates the node by a vector which is relative to a custom set of axes.

Parameters

  axes | A 3x3 Matrix containing 3 column vectors each representing the axes X, Y and Z respectively. In this format the standard cartesian axes would be expressed as:
          1 0 0
          0 1 0
          0 0 1
  i.e. the identity matrix.
  move | Vector relative to the axes above.
  relativeTo | The space which this transform is relative to.

## ◆ translate() [4/4]

void Ogre::Node::translate | ( | const Matrix3 & | axes,
|  | Real | x,
|  | Real | y,
|  | Real | z,
|  | TransformSpace | relativeTo = `TS_PARENT`
| ) |  |
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ roll()

virtual void Ogre::Node::roll | ( | const Radian & | angle,
|  | TransformSpace | relativeTo = `TS_LOCAL`
| ) |  |
| virtual inherited

Rotate the node around the Z-axis.

## ◆ pitch()

virtual void Ogre::Node::pitch | ( | const Radian & | angle,
|  | TransformSpace | relativeTo = `TS_LOCAL`
| ) |  |
| virtual inherited

Rotate the node around the X-axis.

## ◆ rotate() [1/2]

void Ogre::Node::rotate | ( | const Vector3 & | axis,
|  | const Radian & | angle,
|  | TransformSpace | relativeTo = `TS_LOCAL`
| ) |  |
| inherited

Rotate the node around an arbitrary axis.

## ◆ rotate() [2/2]

void Ogre::Node::rotate | ( | const Quaternion & | q,
|  | TransformSpace | relativeTo = `TS_LOCAL`
| ) |  |
| inherited

Rotate the node around an aritrary axis using a Quarternion.

## ◆ getLocalAxes()

Matrix3 Ogre::Node::getLocalAxes | ( | void |  | ) | const
| inherited

Gets a matrix whose columns are the local axes based on the nodes orientation relative to it's parent.

## ◆ createChild() [1/2]

virtual Node* Ogre::Node::createChild | ( | const Vector3 & | translate = `Vector3::ZERO`,
|  | const Quaternion & | rotate = `Quaternion::IDENTITY`
| ) |  |
| virtual inherited

Creates an unnamed new Node as a child of this node.

Parameters

  translate | Initial translation offset of child relative to parent
  rotate | Initial rotation relative to parent

## ◆ createChild() [2/2]

virtual Node* Ogre::Node::createChild | ( | const String & | name,
|  | const Vector3 & | translate = `Vector3::ZERO`,
|  | const Quaternion & | rotate = `Quaternion::IDENTITY`
| ) |  |
| virtual inherited

Creates a new named Node as a child of this node.

Remarks
  This creates a child node with a given name, which allows you to look the node up from the parent which holds this collection of nodes.

Parameters

  translate | Initial translation offset of child relative to parent
  rotate | Initial rotation relative to parent

## ◆ addChild()

void Ogre::Node::addChild | ( | Node * | child | ) |
| inherited

Adds a (precreated) child scene node to this node.

If it is attached to another node, it must be detached first.

Parameters

  child | The Node which is to become a child node of this one

## ◆ numChildren()

uint16 Ogre::Node::numChildren | ( | void |  | ) | const
| inline inherited

Reports the number of child nodes under this one.

Deprecated:
  use getChildren()

## ◆ getChild() [1/2]

Node* Ogre::Node::getChild | ( | unsigned short | index | ) | const
| inherited

Gets a pointer to a child node.

Remarks
  There is an alternate getChild method which returns a named child.

Deprecated:
  use getChildren()

## ◆ getChild() [2/2]

Node* Ogre::Node::getChild | ( | const String & | name | ) | const
| inherited

Gets a pointer to a named child node.

## ◆ getChildIterator() [1/2]

ChildNodeIterator Ogre::Node::getChildIterator | ( | void |  | ) |
| inherited

Retrieves an iterator for efficiently looping through all children of this node.

Remarks
  Using this is faster than repeatedly calling getChild if you want to go through all (or most of) the children of this node. Note that the returned iterator is only valid whilst no children are added or removed from this node. Thus you should not store this returned iterator for later use, nor should you add / remove children whilst iterating through it; store up changes for later. Note that calling methods on returned items in the iterator IS allowed and does not invalidate the iterator.

Deprecated:
  use getChildren()

## ◆ getChildIterator() [2/2]

ConstChildNodeIterator Ogre::Node::getChildIterator | ( | void |  | ) | const
| inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ getChildren()

const ChildNodeMap& Ogre::Node::getChildren | ( |  | ) | const
| inline inherited

List of sub-nodes of this Node.

## ◆ removeChild() [1/3]

virtual Node* Ogre::Node::removeChild | ( | unsigned short | index | ) |
| virtual inherited

Drops the specified child from this node.

Remarks
  Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere. There is also an alternate version which drops a named child from this node.

Reimplemented in Ogre::OctreeNode.

## ◆ removeChild() [2/3]

virtual Node* Ogre::Node::removeChild | ( | Node * | child | ) |
| virtual inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Reimplemented in Ogre::OctreeNode.

## ◆ removeChild() [3/3]

virtual Node* Ogre::Node::removeChild | ( | const String & | name | ) |
| virtual inherited

Drops the named child from this node.

Remarks
  Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere.

Reimplemented in Ogre::OctreeNode.

## ◆ removeAllChildren()

virtual void Ogre::Node::removeAllChildren | ( | void |  | ) |
| virtual inherited

Removes all child Nodes attached to this node.

Does not delete the nodes, just detaches them from this parent, potentially to be reattached elsewhere.

Reimplemented in Ogre::OctreeNode.

## ◆ _setDerivedPosition()

void Ogre::Node::_setDerivedPosition | ( | const Vector3 & | pos | ) |
| inherited

Sets the final world position of the node directly.

Remarks
  It's advisable to use the local setPosition if possible

## ◆ _setDerivedOrientation()

void Ogre::Node::_setDerivedOrientation | ( | const Quaternion & | q | ) |
| inherited

Sets the final world orientation of the node directly.

Remarks
  It's advisable to use the local setOrientation if possible, this simply does the conversion for you.

## ◆ _getDerivedOrientation()

const Quaternion& Ogre::Node::_getDerivedOrientation | ( | void |  | ) | const
| inherited

Gets the orientation of the node as derived from all parents.

## ◆ _getDerivedPosition()

const Vector3& Ogre::Node::_getDerivedPosition | ( | void |  | ) | const
| inherited

Gets the position of the node as derived from all parents.

## ◆ _getDerivedScale()

const Vector3& Ogre::Node::_getDerivedScale | ( | void |  | ) | const
| inherited

Gets the scaling factor of the node as derived from all parents.

## ◆ _getFullTransform()

const Affine3& Ogre::Node::_getFullTransform | ( | void |  | ) | const
| inherited

Gets the full transformation matrix for this node.

Remarks
  This method returns the full transformation matrix for this node, including the effect of any parent node transformations, provided they have been updated using the Node::_update method. This should only be called by a SceneManager which knows the derived transforms have been updated before calling this method. Applications using Ogre should just use the relative transforms.

## ◆ setListener()

void Ogre::Node::setListener | ( | Listener * | listener | ) |
| inline inherited

Sets a listener for this Node.

Remarks
  Note for size and performance reasons only one listener per node is allowed.

## ◆ getListener()

Listener* Ogre::Node::getListener | ( | void |  | ) | const
| inline inherited

Gets the current listener for this Node.

## ◆ setInitialState()

void Ogre::Node::setInitialState | ( | void |  | ) |
| inherited

Sets the current transform of this node to be the 'initial state' ie that position / orientation / scale to be used as a basis for delta values used in keyframe animation.

Remarks
  You never need to call this method unless you plan to animate this node. If you do plan to animate it, call this method once you've loaded the node with it's base state, ie the state on which all keyframes are based.

  If you never call this method, the initial state is the identity transform, ie do nothing.

## ◆ resetToInitialState()

void Ogre::Node::resetToInitialState | ( | void |  | ) |
| inherited

Resets the position / orientation / scale of this node to it's initial state, see setInitialState for more info.

## ◆ getInitialPosition()

const Vector3& Ogre::Node::getInitialPosition | ( | void |  | ) | const
| inline inherited

Gets the initial position of this node, see setInitialState for more info.

Remarks
  Also resets the cumulative animation weight used for blending.

## ◆ convertWorldToLocalPosition()

Vector3 Ogre::Node::convertWorldToLocalPosition | ( | const Vector3 & | worldPos | ) |
| inherited

Gets the local position, relative to this node, of the given world-space position.

## ◆ convertLocalToWorldPosition()

Vector3 Ogre::Node::convertLocalToWorldPosition | ( | const Vector3 & | localPos | ) |
| inherited

Gets the world position of a point in the node local space useful for simple transforms that don't require a child node.

## ◆ convertWorldToLocalDirection()

Vector3 Ogre::Node::convertWorldToLocalDirection | ( | const Vector3 & | worldDir,
|  | bool | useScale
| ) |  |
| inherited

Gets the local direction, relative to this node, of the given world-space direction.

## ◆ convertLocalToWorldDirection()

Vector3 Ogre::Node::convertLocalToWorldDirection | ( | const Vector3 & | localDir,
|  | bool | useScale
| ) |  |
| inherited

Gets the world direction of a point in the node local space useful for simple transforms that don't require a child node.

## ◆ convertWorldToLocalOrientation()

Quaternion Ogre::Node::convertWorldToLocalOrientation | ( | const Quaternion & | worldOrientation | ) |
| inherited

Gets the local orientation, relative to this node, of the given world-space orientation.

## ◆ convertLocalToWorldOrientation()

Quaternion Ogre::Node::convertLocalToWorldOrientation | ( | const Quaternion & | localOrientation | ) |
| inherited

Gets the world orientation of an orientation in the node local space useful for simple transforms that don't require a child node.

## ◆ getInitialOrientation()

const Quaternion& Ogre::Node::getInitialOrientation | ( | void |  | ) | const
| inline inherited

Gets the initial orientation of this node, see setInitialState for more info.

## ◆ getInitialScale()

const Vector3& Ogre::Node::getInitialScale | ( | void |  | ) | const
| inline inherited

Gets the initial position of this node, see setInitialState for more info.

## ◆ getSquaredViewDepth()

Real Ogre::Node::getSquaredViewDepth | ( | const Camera * | cam | ) | const
| inherited

Helper function, get the squared view depth.

## ◆ needUpdate()

virtual void Ogre::Node::needUpdate | ( | bool | forceParentUpdate = `false` | ) |
| virtual inherited

To be called in the event of transform changes to this node that require it's recalculation.

Remarks
  This not only tags the node state as being 'dirty', it also requests it's parent to know about it's dirtiness so it will get an update next time.

Parameters

  forceParentUpdate | Even if the node thinks it has already told it's parent, tell it anyway

Reimplemented in Ogre::Bone, and Ogre::TagPoint.

## ◆ requestUpdate()

void Ogre::Node::requestUpdate | ( | Node * | child,
|  | bool | forceParentUpdate = `false`
| ) |  |
| inherited

Called by children to notify their parent that they need an update.

Parameters

  forceParentUpdate | Even if the node thinks it has already told it's parent, tell it anyway

## ◆ cancelUpdate()

void Ogre::Node::cancelUpdate | ( | Node * | child | ) |
| inherited

Called by children to notify their parent that they no longer need an update.

## ◆ queueNeedUpdate()

static void Ogre::Node::queueNeedUpdate | ( | Node * | n | ) |
| static inherited

Queue a 'needUpdate' call to a node safely.

Remarks
  You can't call needUpdate() during the scene graph update, e.g. in response to a Node::Listener hook, because the graph is already being updated, and update flag changes cannot be made reliably in that context. Call this method if you need to queue a needUpdate call in this case.

## ◆ processQueuedUpdates()

static void Ogre::Node::processQueuedUpdates | ( | void |  | ) |
| static inherited

Process queued 'needUpdate' calls.

## ◆ setUserAny()

void Ogre::Node::setUserAny | ( | const Any & | anything | ) |
| inline inherited

Deprecated:
  use UserObjectBindings::setUserAny via getUserObjectBindings() instead.

Sets any kind of user value on this object.

Remarks
  This method allows you to associate any user value you like with this Node. This can be a pointer back to one of your own classes for instance.

## ◆ getUserAny()

const Any& Ogre::Node::getUserAny | ( | void |  | ) | const
| inline inherited

Deprecated:
  use UserObjectBindings::getUserAny via getUserObjectBindings() instead.

Retrieves the custom user value associated with this object.

## ◆ getUserObjectBindings() [1/2]

UserObjectBindings& Ogre::Node::getUserObjectBindings | ( |  | ) |
| inline inherited

Return an instance of user objects binding associated with this class.

You can use it to associate one or more custom objects with this class instance.

See also
  UserObjectBindings::setUserAny.

## ◆ getUserObjectBindings() [2/2]

const UserObjectBindings& Ogre::Node::getUserObjectBindings | ( |  | ) | const
| inline inherited

Return an instance of user objects binding associated with this class.

You can use it to associate one or more custom objects with this class instance.

See also
  UserObjectBindings::setUserAny.

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

- OgreBspSceneNode.h