Go to the documentation of this file.
118 void getWorldTransforms(
Matrix4* xform)
const;
119 Real getSquaredViewDepth(
const Camera* cam)
const;
165 virtual void setParent(
Node* parent);
200 virtual void _updateFromParent(
void)
const;
208 virtual void updateFromParentImpl(
void)
const;
212 virtual Node* createChildImpl(
void) = 0;
215 virtual Node* createChildImpl(
const String& name) = 0;
254 const String& getName(
void)
const;
258 virtual Node* getParent(
void)
const;
262 virtual const Quaternion & getOrientation()
const;
277 virtual void setOrientation(
const Quaternion& q );
307 virtual void resetOrientation(
void);
311 virtual void setPosition(
const Vector3& pos);
319 virtual const Vector3 & getPosition(
void)
const;
333 virtual void setScale(
const Vector3& scale);
351 virtual const Vector3 & getScale(
void)
const;
366 virtual void setInheritOrientation(
bool inherit);
381 virtual bool getInheritOrientation(
void)
const;
395 virtual void setInheritScale(
bool inherit);
401 virtual bool getInheritScale(
void)
const;
412 virtual void scale(
const Vector3& scale);
516 virtual Matrix3 getLocalAxes(
void)
const;
524 virtual Node* createChild(
543 virtual void addChild(
Node* child);
547 virtual unsigned short numChildren(
void)
const;
553 virtual Node* getChild(
unsigned short index)
const;
557 virtual Node* getChild(
const String& name)
const;
590 virtual Node* removeChild(
unsigned short index);
598 virtual Node* removeChild(
Node* child);
605 virtual Node* removeChild(
const String& name);
609 virtual void removeAllChildren(
void);
615 virtual void _setDerivedPosition(
const Vector3& pos);
622 virtual void _setDerivedOrientation(
const Quaternion& q);
626 virtual const Quaternion & _getDerivedOrientation(
void)
const;
630 virtual const Vector3 & _getDerivedPosition(
void)
const;
634 virtual const Vector3 & _getDerivedScale(
void)
const;
645 virtual const Matrix4& _getFullTransform(
void)
const;
659 virtual void _update(
bool updateChildren,
bool parentHasChanged);
683 virtual void setInitialState(
void);
686 virtual void resetToInitialState(
void);
692 virtual const Vector3& getInitialPosition(
void)
const;
695 virtual Vector3 convertWorldToLocalPosition(
const Vector3 &worldPos );
699 virtual Vector3 convertLocalToWorldPosition(
const Vector3 &localPos );
709 virtual const Quaternion& getInitialOrientation(
void)
const;
712 virtual const Vector3& getInitialScale(
void)
const;
715 virtual Real getSquaredViewDepth(
const Camera* cam)
const;
724 virtual void needUpdate(
bool forceParentUpdate =
false);
729 virtual void requestUpdate(
Node* child,
bool forceParentUpdate =
false);
731 virtual void cancelUpdate(
Node* child);
734 virtual DebugRenderable* getDebugRenderable(
Real scaling);
743 static void queueNeedUpdate(
Node* n);
745 static void processQueuedUpdates(
void);
virtual const OGRE_DEPRECATED Any & getUserAny(void) const
Inner class for displaying debug renderable for Node.
HashMap< String, Node * > ChildNodeMap
Quaternion mDerivedOrientation
Cached combined orientation.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
static const Vector3 ZERO
A viewpoint from which the scene will be rendered.
Transform is relative to the local space.
String mName
Friendly name of this node, can be automatically generated if you don't care.
MapIterator< ChildNodeMap > ChildNodeIterator
bool mNeedParentUpdate
Flag to indicate own transform from parent is out of date.
UserObjectBindings mUserObjectBindings
User objects binding.
A 3x3 matrix which can represent rotations around axes.
ChildUpdateSet mChildrenToUpdate
List of children which need updating, used if self is not out of date but children are.
Variant type that can hold Any other type.
virtual void setListener(Listener *listener)
Sets a listener for this Node.
Vector3 mPosition
Stores the position/translation of the node relative to its parent.
virtual OGRE_DEPRECATED void setUserAny(const Any &anything)
Matrix4 mCachedTransform
Cached derived transform as a 4x4 matrix.
Class that provides convenient interface to establish a linkage between custom user application objec...
UserObjectBindings & getUserObjectBindings()
Return an instance of user objects binding associated with this class.
virtual Listener * getListener(void) const
Gets the current listener for this Node.
Implementation of a Quaternion, i.e.
vector< Node * >::type QueuedUpdates
Node * mParent
Pointer to parent node.
TransformSpace
Enumeration denoting the spaces which a transform can be relative to.
Listener which gets called back on Node events.
Class encapsulating a standard 4x4 homogeneous matrix.
Utility class to generate a sequentially numbered series of names.
bool mInheritScale
Stores whether this node inherits scale from it's parent.
virtual void nodeDestroyed(const Node *)
Node is being destroyed.
static QueuedUpdates msQueuedUpdates
Wrapper class which indicates a given angle value is in Radians.
Vector3 mDerivedPosition
Cached combined position.
Transform is relative to the space of the parent node.
set< Node * >::type ChildUpdateSet
Vector3 mScale
Stores the scaling factor applied to this node.
Concrete IteratorWrapper for nonconst access to the underlying key-value container.
bool mInheritOrientation
Stores whether this node inherits orientation from it's parent.
ConstMapIterator< ChildNodeMap > ConstChildNodeIterator
bool mParentNotified
Flag indicating that parent has been notified about update request.
Vector3 mInitialPosition
The position to use as a base for keyframe animation.
virtual void nodeDetached(const Node *)
Node has been detached from a parent.
Abstract class defining the interface all renderable objects must implement.
ChildNodeMap mChildren
Collection of pointers to direct children; hashmap for efficiency.
Quaternion mInitialOrientation
The orientation to use as a base for keyframe animation.
static const Quaternion IDENTITY
float Real
Software floating point type.
Concrete IteratorWrapper for const access to the underlying key-value container.
static NameGenerator msNameGenerator
Incremented count for next name extension.
Vector3 mDerivedScale
Cached combined scale.
Listener * mListener
Node listener - only one allowed (no list) for size & performance reasons.
Quaternion mOrientation
Stores the orientation of the node relative to it's parent.
virtual void nodeUpdated(const Node *)
Called when a node gets updated.
Class representing a general-purpose node an articulated scene graph.
Vector3 mInitialScale
The scale to use as a base for keyframe animation.
bool mCachedTransformOutOfDate
bool mNeedChildUpdate
Flag indicating that all children need to be updated.
Standard 3-dimensional vector.
'New' rendering operation using vertex buffers.
bool mQueuedForUpdate
Flag indicating that the node has been queued for update.
virtual void nodeAttached(const Node *)
Node has been attached to a parent.
const UserObjectBindings & getUserObjectBindings() const
Return an instance of user objects binding associated with this class.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.