#include <OgreSceneNode.h>
Inheritance diagram for Ogre::SceneNode:
Public Types | |
typedef HashMap< String, MovableObject *, _StringHash > | ObjectMap |
typedef MapIterator< ObjectMap > | ObjectIterator |
typedef HashMap< String, Node *, _StringHash > | ChildNodeMap |
typedef MapIterator< ChildNodeMap > | ChildNodeIterator |
Public Methods | |
SceneNode (SceneManager *creator) | |
Constructor, only to be called by the creator SceneManager. | |
SceneNode (SceneManager *creator, const String &name) | |
Constructor, only to be called by the creator SceneManager. | |
~SceneNode () | |
virtual void | attachObject (MovableObject *obj) |
Adds an instance of a scene object to this node. | |
virtual unsigned short | numAttachedObjects (void) const |
Reports the number of objects attached to this node. | |
virtual MovableObject * | getAttachedObject (unsigned short index) |
Retrieves a pointer to an attached object. | |
virtual MovableObject * | getAttachedObject (const String &name) |
Retrieves a pointer to an attached object. | |
virtual MovableObject * | detachObject (unsigned short index) |
Detaches the indexed object from this scene node. | |
virtual void | detachObject (MovableObject *obj) |
Detaches an object by pointer. | |
virtual MovableObject * | detachObject (const String &name) |
Detaches the named object from this node and returns a pointer to it. | |
virtual void | detachAllObjects (void) |
Detaches all objects attached to this node. | |
void | attachLight (Light *l) |
Adds a light to this node. | |
void | attachCamera (Camera *ent) |
Adds a Camera to this node. | |
virtual void | _update (bool updateChildren, bool parentHasChanged) |
Internal method to update the Node. | |
virtual void | _findVisibleObjects (Camera *cam, RenderQueue *queue, bool includeChildren=true, bool displayNodes=false) |
Internal method which locates any visible objects attached to this node and adds them to the passed in queue. | |
virtual AxisAlignedBox | _getWorldAABB (void) const |
Gets the axis-aligned bounding box of this node (and hence all subnodes). | |
virtual ObjectIterator | getAttachedObjectIterator (void) |
Retrieves an iterator which can be used to efficiently step through the objects attached to this node. | |
SceneManager * | getCreator (void) const |
Gets the creator of this scene node. | |
virtual void | removeAndDestroyChild (const String &name) |
This method removes and destroys the named child and all of its children. | |
virtual void | removeAndDestroyChild (unsigned short index) |
This method removes and destroys the child and all of its children. | |
virtual void | removeAndDestroyAllChildren (void) |
Removes and destroys all children of this node. | |
virtual void | showBoundingBox (bool bShow) |
Allows the showing of the node's bounding box. | |
virtual void | _addBoundingBoxToQueue (RenderQueue *queue) |
Add the bounding box to the rendering queue. | |
virtual bool | getShowBoundingBox () const |
This allows scene managers to determine if the node's bounding box should be added to the rendering queue. | |
virtual SceneNode * | createChildSceneNode (const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY) |
Creates an unnamed new SceneNode as a child of this node. | |
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. | |
const LightList & | getLights (void) const |
Allows retrieval of the nearest lights to the centre of this SceneNode. | |
const String & | getName (void) const |
Returns the name of the node. | |
virtual Node * | getParent (void) const |
Gets this node's parent (NULL if this is the root). | |
virtual const Quaternion & | getOrientation () const |
Returns a quaternion representing the nodes orientation. | |
virtual void | setOrientation (const Quaternion &q) |
Sets the orientation of this node via a quaternion. | |
virtual void | setOrientation (Real w, Real x, Real y, Real z) |
Sets the orientation of this node via quaternion parameters. | |
virtual void | resetOrientation (void) |
Resets the nodes orientation (local axes as world axes, no rotation). | |
virtual void | setPosition (const Vector3 &pos) |
Sets the position of the node relative to it's parent. | |
virtual void | setPosition (Real x, Real y, Real z) |
Sets the position of the node relative to it's parent. | |
virtual const Vector3 & | getPosition (void) const |
Gets the position of the node relative to it's parent. | |
virtual void | setScale (const Vector3 &scale) |
Sets the scaling factor applied to this node. | |
virtual void | setScale (Real x, Real y, Real z) |
Sets the scaling factor applied to this node. | |
virtual const Vector3 & | getScale (void) const |
Gets the scaling factor of this node. | |
virtual void | setInheritScale (bool inherit) |
Tells the node whether it should inherit scaling factors from it's parent node. | |
virtual bool | getInheritScale (void) const |
Returns true if this node is affected by scaling factors applied to the parent node. | |
virtual void | scale (const Vector3 &scale) |
Scales the node, combining it's current scale with the passed in scaling factor. | |
virtual void | scale (Real x, Real y, Real z) |
Scales the node, combining it's current scale with the passed in scaling factor. | |
virtual void | translate (const Vector3 &d) |
Moves the node along the cartesian axes. | |
virtual void | translate (Real x, Real y, Real z) |
Moves the node along the cartesian axes. | |
virtual void | translate (const Matrix3 &axes, const Vector3 &move) |
Moves the node along arbitrary axes. | |
virtual void | translate (const Matrix3 &axes, Real x, Real y, Real z) |
Moves the node along arbitrary axes. | |
virtual void | roll (Real degrees) |
Rotate the node around the Z-axis. | |
virtual void | pitch (Real degrees) |
Rotate the node around the X-axis. | |
virtual void | yaw (Real degrees) |
Rotate the node around the Y-axis. | |
virtual void | rotate (const Vector3 &axis, Real degrees) |
Rotate the node around an arbitrary axis. | |
virtual void | rotate (const Quaternion &q) |
Rotate the node around an aritrary axis using a Quarternion. | |
virtual Matrix3 | getLocalAxes (void) const |
Gets a matrix whose columns are the local axes based on the nodes orientation relative to it's parent. | |
virtual Node * | createChild (const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY) |
Creates an unnamed new Node as a child of this node. | |
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. | |
virtual void | addChild (Node *child) |
Adds a (precreated) child scene node to this node. | |
virtual unsigned short | numChildren (void) const |
Reports the number of child nodes under this one. | |
virtual Node * | getChild (unsigned short index) const |
Gets a pointer to a child node. | |
virtual Node * | getChild (const String &name) const |
Gets a pointer to a named child node. | |
virtual ChildNodeIterator | getChildIterator (void) |
Retrieves an iterator for efficiently looping through all children of this node. | |
virtual Node * | removeChild (unsigned short index) |
Drops the specified child from this node. | |
virtual Node * | removeChild (const String &name) |
Drops the named child from this node. | |
virtual void | removeAllChildren (void) |
Removes all child Nodes attached to this node. | |
virtual const Quaternion & | _getDerivedOrientation (void) const |
Gets the orientation of the node as derived from all parents. | |
virtual const Vector3 & | _getDerivedPosition (void) const |
Gets the position of the node as derived from all parents. | |
virtual const Vector3 & | _getDerivedScale (void) const |
Gets the scaling factor of the node as derived from all parents. | |
virtual Matrix4 | _getFullTransform (void) const |
Gets the full transformation matrix for this node. | |
Material * | getMaterial (void) const |
Overridden from Renderable. | |
void | getRenderOperation (RenderOperation &op) |
Overridden from Renderable. | |
void | getWorldTransforms (Matrix4 *xform) const |
Overridden from Renderable. | |
const Quaternion & | getWorldOrientation (void) const |
@copydoc Renderable::getWorldOrientation | |
const Vector3 & | getWorldPosition (void) const |
@copydoc Renderable::getWorldPosition | |
virtual 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. | |
virtual void | resetToInitialState (void) |
Resets the position / orientation / scale of this node to it's initial state, see setInitialState for more info. | |
virtual const Vector3 & | getInitialPosition (void) const |
Gets the initial position of this node, see setInitialState for more info. | |
virtual const Quaternion & | getInitialOrientation (void) const |
Gets the initial orientation of this node, see setInitialState for more info. | |
virtual const Vector3 & | getInitialScale (void) const |
Gets the initial position of this node, see setInitialState for more info. | |
virtual void | _weightedTransform (Real weight, const Vector3 &translate, const Quaternion &rotate, const Vector3 &scale) |
Internal weighted transform method. | |
Real | getSquaredViewDepth (const Camera *cam) const |
Overridden, see Renderable. | |
virtual void | needUpdate () |
To be called in the event of transform changes to this node that require it's recalculation. | |
virtual void | requestUpdate (Node *child) |
Called by children to notify their parent that they need an update. | |
virtual void | cancelUpdate (Node *child) |
Called by children to notify their parent that they no longer need an update. | |
virtual Technique * | getTechnique (void) const |
Retrieves a pointer to the Material Technique this renderable object uses. | |
virtual unsigned short | getNumWorldTransforms (void) const |
Returns the number of world transform matrices this renderable requires. | |
virtual bool | useIdentityProjection (void) const |
Returns whether or not to use an 'identity' projection. | |
virtual bool | useIdentityView (void) const |
Returns whether or not to use an 'identity' projection. | |
virtual SceneDetailLevel | getRenderDetail () const |
Returns the preferred rasterisation mode of this renderable. | |
virtual bool | getNormaliseNormals (void) const |
Returns whether or not this Renderable wishes the hardware to normalise normals. | |
Protected Types | |
typedef std::set< Node * > | ChildUpdateSet |
Protected Methods | |
virtual void | _updateBounds (void) |
Tells the SceneNode to update the world bound info it stores. | |
Node * | createChildImpl (void) |
See Node. | |
Node * | createChildImpl (const String &name) |
See Node. | |
void | setParent (Node *parent) |
Only available internally - notification of parent. | |
virtual void | _updateFromParent (void) const |
Triggers the node to update it's combined transforms. | |
void | makeTransform (const Vector3 &position, const Vector3 &scale, const Quaternion &orientation, Matrix4 &destMatrix) const |
Internal method for building a Matrix4 from orientation / scale / position. | |
void | makeInverseTransform (const Vector3 &position, const Vector3 &scale, const Quaternion &orientation, Matrix4 &destMatrix) |
Internal method for building an inverse Matrix4 from orientation / scale / position. | |
Protected Attributes | |
ObjectMap | mObjectsByName |
LightList | mLightList |
bool | mLightListDirty |
WireBoundingBox * | mWireBoundingBox |
Pointer to a Wire Bounding Box for this Node. | |
bool | mShowBoundingBox |
Flag that determines if the bounding box of the node should be displayed. | |
SceneManager * | mCreator |
SceneManager which created this node. | |
AxisAlignedBox | mWorldAABB |
World-Axis aligned bounding box, updated only through _update. | |
Node * | mParent |
Pointer to parent node. | |
ChildNodeMap | mChildren |
Collection of pointers to direct children; hashmap for efficiency. | |
ChildUpdateSet | mChildrenToUpdate |
List of children which need updating, used if self is not out of date but children are. | |
bool | mNeedParentUpdate |
Flag to indicate own transform from parent is out of date. | |
bool | mNeedChildUpdate |
Flag indicating that all children need to be updated. | |
bool | mParentNotified |
Flag indicating that parent has been notified about update request. | |
String | mName |
Friendly name of this node, can be automatically generated if you don't care. | |
Quaternion | mOrientation |
Stores the orientation of the node relative to it's parent. | |
Vector3 | mPosition |
Stores the position/translation of the node relative to its parent. | |
Vector3 | mScale |
Stores the scaling factor applied to this node. | |
bool | mInheritScale |
Stores whether this node inherits scale from it's parent. | |
Quaternion | mDerivedOrientation |
Cached combined orientation. | |
Vector3 | mDerivedPosition |
Cached combined position. | |
Vector3 | mDerivedScale |
Cached combined scale. | |
Vector3 | mInitialPosition |
The position to use as a base for keyframe animation. | |
Quaternion | mInitialOrientation |
The orientation to use as a base for keyframe animation. | |
Vector3 | mInitialScale |
The scale to use as a base for keyframe animation. | |
Real | mAccumAnimWeight |
Vector3 | mTransFromInitial |
Quaternion | mRotFromInitial |
Vector3 | mScaleFromInitial |
Matrix4 | mCachedTransform |
Cached derived transform as a 4x4 matrix. | |
bool | mCachedTransformOutOfDate |
Static Protected Attributes | |
unsigned long | msNextGeneratedNameExt = 1 |
Incremented count for next name extension. |
Definition at line 44 of file OgreSceneNode.h.
|
Definition at line 54 of file OgreNode.h. Referenced by Ogre::Node::getChildIterator(). |
|
Definition at line 53 of file OgreNode.h. |
|
Definition at line 62 of file OgreNode.h. |
|
Definition at line 48 of file OgreSceneNode.h. Referenced by getAttachedObjectIterator(). |
|
Definition at line 47 of file OgreSceneNode.h. |
|
Constructor, only to be called by the creator SceneManager.
Definition at line 39 of file OgreSceneNode.cpp. References Ogre::Node::needUpdate(). |
|
Constructor, only to be called by the creator SceneManager.
Definition at line 45 of file OgreSceneNode.cpp. References Ogre::Node::needUpdate(). |
|
Definition at line 51 of file OgreSceneNode.cpp. References Ogre::MovableObject::_notifyAttached(), mObjectsByName, and mWireBoundingBox. |
|
Add the bounding box to the rendering queue.
Definition at line 289 of file OgreSceneNode.cpp. References Ogre::RenderQueue::addRenderable(), mWireBoundingBox, mWorldAABB, and Ogre::WireBoundingBox::setupBoundingBox(). Referenced by _findVisibleObjects(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::OctreeSceneManager::walkOctree(). |
|
Internal method which locates any visible objects attached to this node and adds them to the passed in queue.
Definition at line 242 of file OgreSceneNode.cpp. References _addBoundingBoxToQueue(), Ogre::RenderQueue::addRenderable(), Ogre::SceneManager::getShowBoundingBoxes(), Ogre::Camera::isVisible(), Ogre::Node::mChildren, mCreator, mObjectsByName, mShowBoundingBox, and mWorldAABB. Referenced by Ogre::SceneManager::_findVisibleObjects(), and Ogre::Overlay::_findVisibleObjects(). |
|
Gets the orientation of the node as derived from all parents.
Definition at line 394 of file OgreNode.cpp. References Ogre::Node::_updateFromParent(), Ogre::Node::mDerivedOrientation, and Ogre::Node::mNeedParentUpdate. Referenced by Ogre::Node::_getFullTransform(), Ogre::ParticleSystem::_triggerEmitters(), Ogre::ParticleSystem::_updateBounds(), Ogre::TagPoint::_updateFromParent(), Ogre::Node::_updateFromParent(), Ogre::BillboardSet::genBillboardAxes(), Ogre::TerrainRenderable::getWorldOrientation(), Ogre::SubEntity::getWorldOrientation(), Ogre::SimpleRenderable::getWorldOrientation(), Ogre::ParticleSystem::getWorldOrientation(), Ogre::Node::getWorldOrientation(), Ogre::Frustum::getWorldOrientation(), Ogre::BillboardSet::getWorldOrientation(), Ogre::Frustum::isViewOutOfDate(), Ogre::Camera::isViewOutOfDate(), Ogre::Bone::setBindingPose(), and Ogre::Light::update(). |
|
|
Gets the scaling factor of the node as derived from all parents.
Definition at line 414 of file OgreNode.cpp. References Ogre::Node::mDerivedScale. Referenced by Ogre::Node::_getFullTransform(), Ogre::Node::_updateFromParent(), Ogre::Entity::getBoundingBox(), and Ogre::Entity::getBoundingRadius(). |
|
Gets the full transformation matrix for this node.
Definition at line 97 of file OgreNode.cpp. References Ogre::Node::_getDerivedOrientation(), Ogre::Node::_getDerivedPosition(), Ogre::Node::_getDerivedScale(), Ogre::Node::makeTransform(), Ogre::Node::mCachedTransform, and Ogre::Node::mCachedTransformOutOfDate. Referenced by Ogre::Skeleton::_getBoneMatrices(), Ogre::MovableObject::_getParentNodeFullTransform(), Ogre::TerrainRenderable::getWorldTransforms(), Ogre::SimpleRenderable::getWorldTransforms(), and Ogre::Node::getWorldTransforms(). |
|
Gets the axis-aligned bounding box of this node (and hence all subnodes).
Definition at line 318 of file OgreSceneNode.cpp. References mWorldAABB. |
|
Internal method to update the Node.
Reimplemented from Ogre::Node. Reimplemented in Ogre::BspSceneNode. Definition at line 69 of file OgreSceneNode.cpp. References _updateBounds(), and mLightListDirty. Referenced by Ogre::Overlay::_findVisibleObjects(), and Ogre::SceneManager::_updateSceneGraph(). |
|
Tells the SceneNode to update the world bound info it stores.
Reimplemented in Ogre::OctreeNode. Definition at line 218 of file OgreSceneNode.cpp. References Ogre::Node::mChildren, Ogre::AxisAlignedBox::merge(), mObjectsByName, mWorldAABB, and Ogre::AxisAlignedBox::setNull(). Referenced by _update(). |
|
Triggers the node to update it's combined transforms.
This method is called internally by Ogre to ask the node to update it's complete transformation based on it's parents derived transform. Reimplemented in Ogre::TagPoint. Definition at line 162 of file OgreNode.cpp. References Ogre::Node::_getDerivedOrientation(), Ogre::Node::_getDerivedPosition(), Ogre::Node::_getDerivedScale(), Ogre::Node::mCachedTransformOutOfDate, Ogre::Node::mDerivedOrientation, Ogre::Node::mDerivedPosition, Ogre::Node::mDerivedScale, Ogre::Node::mOrientation, Ogre::Node::mParent, Ogre::Node::mPosition, and Ogre::Node::mScale. Referenced by Ogre::Node::_getDerivedOrientation(), Ogre::Node::_getDerivedPosition(), and Ogre::Node::_update(). |
|
Internal weighted transform method.
Definition at line 653 of file OgreNode.cpp. References Ogre::Node::mAccumAnimWeight, Ogre::Node::mInitialOrientation, Ogre::Node::mInitialPosition, Ogre::Node::mInitialScale, Ogre::Node::mOrientation, Ogre::Node::mPosition, Ogre::Node::mRotFromInitial, Ogre::Node::mScale, Ogre::Node::mScaleFromInitial, Ogre::Node::mTransFromInitial, Ogre::Node::needUpdate(), and Ogre::Real. Referenced by Ogre::AnimationTrack::applyToNode(). |
|
Adds a (precreated) child scene node to this node.
Definition at line 224 of file OgreNode.cpp. References Ogre::Node::getName(), Ogre::Node::mChildren, and Ogre::Node::setParent(). Referenced by Ogre::Overlay::add3D(), Ogre::Node::createChild(), Ogre::Bone::createChild(), Ogre::Bone::createChildTagPoint(), and Ogre::SkeletonSerializer::readBoneParent(). |
|
Adds a Camera to this node.
Definition at line 194 of file OgreSceneNode.cpp. References attachObject(). |
|
Adds a light to this node.
Definition at line 199 of file OgreSceneNode.cpp. References attachObject(). |
|
Adds an instance of a scene object to this node.
Definition at line 78 of file OgreSceneNode.cpp. References Ogre::MovableObject::_notifyAttached(), Ogre::MovableObject::getName(), mObjectsByName, and Ogre::Node::needUpdate(). Referenced by attachCamera(), attachLight(), Ogre::OverlayManager::parseNewMesh(), Ogre::SceneManager::setSkyBox(), Ogre::SceneManager::setSkyDome(), and Ogre::SceneManager::setSkyPlane(). |
|
Called by children to notify their parent that they no longer need an update.
Definition at line 739 of file OgreNode.cpp. References Ogre::Node::mChildrenToUpdate, Ogre::Node::mNeedChildUpdate, Ogre::Node::mParent, and Ogre::Node::mParentNotified. Referenced by Ogre::Node::removeChild(). |
|
Creates a new named Node as a child of this node.
Definition at line 214 of file OgreNode.cpp. References Ogre::Node::addChild(), Ogre::Node::createChildImpl(), Ogre::Node::rotate(), and Ogre::Node::translate(). |
|
Creates an unnamed new Node as a child of this node.
Definition at line 204 of file OgreNode.cpp. References Ogre::Node::addChild(), Ogre::Node::createChildImpl(), Ogre::Node::rotate(), and Ogre::Node::translate(). Referenced by createChildSceneNode(). |
|
See Node.
Implements Ogre::Node. Definition at line 313 of file OgreSceneNode.cpp. References Ogre::SceneManager::createSceneNode(), and mCreator. |
|
See Node.
Implements Ogre::Node. Definition at line 308 of file OgreSceneNode.cpp. References Ogre::SceneManager::createSceneNode(), and mCreator. |
|
Creates a new named SceneNode as a child of this node.
Definition at line 372 of file OgreSceneNode.cpp. References Ogre::Node::createChild(). |
|
Creates an unnamed new SceneNode as a child of this node.
Definition at line 366 of file OgreSceneNode.cpp. References Ogre::Node::createChild(). |
|
Detaches all objects attached to this node.
Reimplemented in Ogre::BspSceneNode. Definition at line 204 of file OgreSceneNode.cpp. References Ogre::MovableObject::_notifyAttached(), mObjectsByName, and Ogre::Node::needUpdate(). Referenced by Ogre::SceneManager::clearScene(), Ogre::SceneManager::setSkyBox(), Ogre::SceneManager::setSkyDome(), and Ogre::SceneManager::setSkyPlane(). |
|
Detaches the named object from this node and returns a pointer to it.
Reimplemented in Ogre::BspSceneNode. Definition at line 157 of file OgreSceneNode.cpp. References Ogre::MovableObject::_notifyAttached(), Except, mObjectsByName, and Ogre::Node::needUpdate(). |
|
Detaches an object by pointer.
Definition at line 175 of file OgreSceneNode.cpp. References Ogre::MovableObject::_notifyAttached(), mObjectsByName, and Ogre::Node::needUpdate(). |
|
Detaches the indexed object from this scene node.
Reimplemented in Ogre::BspSceneNode. Definition at line 129 of file OgreSceneNode.cpp. References Ogre::MovableObject::_notifyAttached(), Except, mObjectsByName, and Ogre::Node::needUpdate(). |
|
Retrieves a pointer to an attached object.
Definition at line 114 of file OgreSceneNode.cpp. References Except, and mObjectsByName. |
|
Retrieves a pointer to an attached object.
Definition at line 97 of file OgreSceneNode.cpp. References Except, and mObjectsByName. |
|
Retrieves an iterator which can be used to efficiently step through the objects attached to this node.
Definition at line 323 of file OgreSceneNode.cpp. References mObjectsByName, and ObjectIterator. |
|
Gets a pointer to a named child node.
Definition at line 613 of file OgreNode.cpp. References Except, and Ogre::Node::mChildren. |
|
Gets a pointer to a child node.
Definition at line 236 of file OgreNode.cpp. References Ogre::Node::mChildren. Referenced by removeAndDestroyChild(). |
|
Retrieves an iterator for efficiently looping through all children of this node.
Definition at line 648 of file OgreNode.cpp. References Ogre::Node::ChildNodeIterator, and Ogre::Node::mChildren. |
|
Gets the creator of this scene node.
Definition at line 328 of file OgreSceneNode.cpp. References mCreator. Referenced by removeAndDestroyAllChildren(), and removeAndDestroyChild(). |
|
Returns true if this node is affected by scaling factors applied to the parent node.
Definition at line 449 of file OgreNode.cpp. References Ogre::Node::mInheritScale. |
|
Gets the initial orientation of this node, see setInitialState for more info.
Definition at line 602 of file OgreNode.cpp. References Ogre::Node::mInitialOrientation. |
|
Gets the initial position of this node, see setInitialState for more info.
Definition at line 597 of file OgreNode.cpp. References Ogre::Node::mInitialPosition. |
|
Gets the initial position of this node, see setInitialState for more info.
Definition at line 608 of file OgreNode.cpp. References Ogre::Node::mInitialScale. |
|
Allows retrieval of the nearest lights to the centre of this SceneNode.
Reimplemented from Ogre::Node. Definition at line 378 of file OgreSceneNode.cpp. References Ogre::SceneManager::_populateLightList(), Ogre::LightList, mCreator, mLightList, and mLightListDirty. |
|
Gets a matrix whose columns are the local axes based on the nodes orientation relative to it's parent.
Definition at line 322 of file OgreNode.cpp. References Ogre::Node::mOrientation, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Overridden from Renderable.
Implements Ogre::Renderable. Definition at line 532 of file OgreNode.cpp. References Except, and Ogre::Material::load(). |
|
Returns the name of the node.
Definition at line 527 of file OgreNode.cpp. References Ogre::Node::mName. Referenced by Ogre::Node::addChild(), Ogre::Skeleton::createBone(), Ogre::SceneManager::createSceneNode(), Ogre::OctreeSceneManager::createSceneNode(), Ogre::BspSceneManager::createSceneNode(), Ogre::Overlay::remove3D(), removeAndDestroyAllChildren(), removeAndDestroyChild(), and Ogre::SkeletonSerializer::writeBone(). |
|
Returns whether or not this Renderable wishes the hardware to normalise normals.
Reimplemented in Ogre::SubEntity. Definition at line 132 of file OgreRenderable.h. Referenced by Ogre::SceneManager::renderSingleObject(). |
|
Returns the number of world transform matrices this renderable requires.
Reimplemented in Ogre::SubEntity, and Ogre::BorderRenderable. Definition at line 98 of file OgreRenderable.h. Referenced by Ogre::SceneManager::renderSingleObject(). |
|
Returns a quaternion representing the nodes orientation.
Definition at line 274 of file OgreNode.cpp. References Ogre::Node::mOrientation. Referenced by Ogre::Skeleton::_dumpContents(), and Ogre::SkeletonSerializer::writeBone(). |
|
Gets this node's parent (NULL if this is the root).
Definition at line 82 of file OgreNode.cpp. References Ogre::Node::mParent. Referenced by Ogre::Skeleton::deriveRootBone(), and Ogre::SkeletonSerializer::writeSkeleton(). |
|
Gets the position of the node relative to it's parent.
Definition at line 317 of file OgreNode.cpp. References Ogre::Node::mPosition. Referenced by Ogre::Skeleton::_dumpContents(), and Ogre::SkeletonSerializer::writeBone(). |
|
Returns the preferred rasterisation mode of this renderable.
Reimplemented in Ogre::SubEntity. Definition at line 129 of file OgreRenderable.h. References Ogre::SceneDetailLevel, and Ogre::SDL_SOLID. Referenced by Ogre::SceneManager::renderSingleObject(). |
|
Overridden from Renderable.
Implements Ogre::Renderable. Reimplemented in Ogre::OctreeNode. Definition at line 548 of file OgreNode.cpp. References Ogre::SubMesh::_getRenderOperation(), Ogre::Mesh::getSubMesh(), and Ogre::Material::load(). |
|
Gets the scaling factor of this node.
Definition at line 438 of file OgreNode.cpp. References Ogre::Node::mScale. |
|
This allows scene managers to determine if the node's bounding box should be added to the rendering queue.
Definition at line 302 of file OgreSceneNode.cpp. References mShowBoundingBox. Referenced by Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::OctreeSceneManager::walkOctree(). |
|
Overridden, see Renderable.
Implements Ogre::Renderable. Definition at line 687 of file OgreNode.cpp. References Ogre::Node::_getDerivedPosition(), Ogre::Camera::getDerivedPosition(), Ogre::Real, and Ogre::Vector3::squaredLength(). Referenced by Ogre::Entity::_notifyCurrentCamera(), Ogre::SubEntity::getSquaredViewDepth(), and Ogre::BillboardSet::getSquaredViewDepth(). |
|
Retrieves a pointer to the Material Technique this renderable object uses.
Reimplemented in Ogre::SubEntity. Definition at line 63 of file OgreRenderable.h. References Ogre::Material::getBestTechnique(). Referenced by Ogre::RenderPriorityGroup::addRenderable(). |
|
@copydoc Renderable::getWorldOrientation
Implements Ogre::Renderable. Definition at line 565 of file OgreNode.cpp. References Ogre::Node::_getDerivedOrientation(). |
|
@copydoc Renderable::getWorldPosition
Implements Ogre::Renderable. Definition at line 570 of file OgreNode.cpp. References Ogre::Node::_getDerivedPosition(). |
|
Overridden from Renderable.
Implements Ogre::Renderable. Definition at line 559 of file OgreNode.cpp. References Ogre::Node::_getFullTransform(). Referenced by Ogre::Frustum::getWorldTransforms(). |
|
Internal method for building an inverse Matrix4 from orientation / scale / position.
Definition at line 492 of file OgreNode.cpp. References Ogre::Quaternion::Inverse(), Ogre::Matrix4::setTrans(), Ogre::Quaternion::ToRotationMatrix(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by Ogre::Bone::setBindingPose(). |
|
Internal method for building a Matrix4 from orientation / scale / position.
Definition at line 470 of file OgreNode.cpp. References Ogre::Matrix4::setTrans(), Ogre::Quaternion::ToRotationMatrix(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by Ogre::Node::_getFullTransform(), and Ogre::TagPoint::_updateFromParent(). |
|
|
Reports the number of objects attached to this node.
Definition at line 92 of file OgreSceneNode.cpp. References mObjectsByName. |
|
Reports the number of child nodes under this one.
Definition at line 231 of file OgreNode.cpp. References Ogre::Node::mChildren. |
|
Rotate the node around the X-axis.
Definition at line 368 of file OgreNode.cpp. References Ogre::Real, and Ogre::Node::rotate(). |
|
Removes all child Nodes attached to this node. Does not delete the nodes, just detaches them from this parent, potentially to be reattached elsewhere. Definition at line 419 of file OgreNode.cpp. References Ogre::Node::mChildren. Referenced by Ogre::Overlay::clear(), and Ogre::SceneManager::clearScene(). |
|
Removes and destroys all children of this node.
Definition at line 352 of file OgreSceneNode.cpp. References Ogre::SceneManager::destroySceneNode(), getCreator(), Ogre::Node::getName(), Ogre::Node::mChildren, and Ogre::Node::needUpdate(). Referenced by removeAndDestroyChild(). |
|
This method removes and destroys the child and all of its children.
Definition at line 343 of file OgreSceneNode.cpp. References Ogre::SceneManager::destroySceneNode(), Ogre::Node::getChild(), getCreator(), Ogre::Node::getName(), removeAndDestroyAllChildren(), and Ogre::Node::removeChild(). |
|
This method removes and destroys the named child and all of its children.
Definition at line 333 of file OgreSceneNode.cpp. References Ogre::SceneManager::destroySceneNode(), Ogre::Node::getChild(), getCreator(), removeAndDestroyAllChildren(), and Ogre::Node::removeChild(). |
|
Drops the named child from this node.
Reimplemented in Ogre::OctreeNode. Definition at line 626 of file OgreNode.cpp. References Ogre::Node::cancelUpdate(), Except, Ogre::Node::mChildren, and Ogre::Node::setParent(). |
|
Drops the specified child from this node.
Reimplemented in Ogre::OctreeNode. Definition at line 248 of file OgreNode.cpp. References Ogre::Node::cancelUpdate(), Except, Ogre::Node::mChildren, Ogre::Node::needUpdate(), and Ogre::Node::setParent(). Referenced by Ogre::Overlay::remove3D(), and removeAndDestroyChild(). |
|
Called by children to notify their parent that they need an update.
Definition at line 722 of file OgreNode.cpp. References Ogre::Node::mChildrenToUpdate, Ogre::Node::mParent, and Ogre::Node::mParentNotified. Referenced by Ogre::Node::needUpdate(). |
|
Resets the nodes orientation (local axes as world axes, no rotation).
Definition at line 295 of file OgreNode.cpp. References Ogre::Node::mOrientation, and Ogre::Node::needUpdate(). |
|
Resets the position / orientation / scale of this node to it's initial state, see setInitialState for more info.
Definition at line 582 of file OgreNode.cpp. References Ogre::Node::mAccumAnimWeight, Ogre::Node::mInitialOrientation, Ogre::Node::mInitialPosition, Ogre::Node::mInitialScale, Ogre::Node::mOrientation, Ogre::Node::mPosition, Ogre::Node::mRotFromInitial, Ogre::Node::mScale, Ogre::Node::mScaleFromInitial, Ogre::Node::mTransFromInitial, and Ogre::Node::needUpdate(). Referenced by Ogre::SceneManager::_applySceneAnimations(), and Ogre::Bone::reset(). |
|
Rotate the node around the Z-axis.
Definition at line 363 of file OgreNode.cpp. References Ogre::Real, and Ogre::Node::rotate(). |
|
Rotate the node around an aritrary axis using a Quarternion.
Definition at line 387 of file OgreNode.cpp. References Ogre::Node::mOrientation, and Ogre::Node::needUpdate(). |
|
Rotate the node around an arbitrary axis.
Definition at line 379 of file OgreNode.cpp. References Ogre::Quaternion::FromAngleAxis(), and Ogre::Real. Referenced by Ogre::AnimationTrack::applyToNode(), Ogre::Node::createChild(), Ogre::Bone::createChild(), Ogre::Skeleton::createTagPoint(), Ogre::OverlayManager::parseNewMesh(), Ogre::Node::pitch(), Ogre::Node::roll(), and Ogre::Node::yaw(). |
|
Scales the node, combining it's current scale with the passed in scaling factor.
Definition at line 461 of file OgreNode.cpp. References Ogre::Node::mScale, Ogre::Node::needUpdate(), Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Scales the node, combining it's current scale with the passed in scaling factor.
Definition at line 454 of file OgreNode.cpp. References Ogre::Node::mScale, and Ogre::Node::needUpdate(). Referenced by Ogre::AnimationTrack::applyToNode(). |
|
Tells the node whether it should inherit scaling factors from it's parent node.
Definition at line 443 of file OgreNode.cpp. References Ogre::Node::mInheritScale, and Ogre::Node::needUpdate(). |
|
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.
Definition at line 575 of file OgreNode.cpp. References Ogre::Node::mInitialOrientation, Ogre::Node::mInitialPosition, Ogre::Node::mInitialScale, Ogre::Node::mOrientation, Ogre::Node::mPosition, and Ogre::Node::mScale. Referenced by Ogre::Bone::setBindingPose(). |
|
Sets the orientation of this node via quaternion parameters.
Definition at line 286 of file OgreNode.cpp. References Ogre::Node::mOrientation, Ogre::Node::needUpdate(), Ogre::Real, Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z. |
|
Sets the orientation of this node via a quaternion.
Definition at line 280 of file OgreNode.cpp. References Ogre::Node::mOrientation, and Ogre::Node::needUpdate(). Referenced by Ogre::Overlay::_findVisibleObjects(), and Ogre::SkeletonSerializer::readBone(). |
|
Only available internally - notification of parent.
Definition at line 88 of file OgreNode.cpp. References Ogre::Node::mParent, Ogre::Node::mParentNotified, and Ogre::Node::needUpdate(). Referenced by Ogre::Node::addChild(), and Ogre::Node::removeChild(). |
|
Sets the position of the node relative to it's parent.
Definition at line 310 of file OgreNode.cpp. References Ogre::Real, and Ogre::Node::setPosition(). |
|
Sets the position of the node relative to it's parent.
Definition at line 302 of file OgreNode.cpp. References Ogre::Node::mPosition, and Ogre::Node::needUpdate(). Referenced by Ogre::Overlay::_findVisibleObjects(), Ogre::SceneManager::_queueSkiesForRendering(), Ogre::SkeletonSerializer::readBone(), and Ogre::Node::setPosition(). |
|
Sets the scaling factor applied to this node.
Definition at line 430 of file OgreNode.cpp. References Ogre::Node::mScale, Ogre::Node::needUpdate(), Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Sets the scaling factor applied to this node.
Definition at line 424 of file OgreNode.cpp. References Ogre::Node::mScale, and Ogre::Node::needUpdate(). |
|
Allows the showing of the node's bounding box.
Definition at line 298 of file OgreSceneNode.cpp. References mShowBoundingBox. |
|
Moves the node along arbitrary axes.
Definition at line 357 of file OgreNode.cpp. References Ogre::Real, and Ogre::Node::translate(). |
|
Moves the node along arbitrary axes.
Definition at line 351 of file OgreNode.cpp. References Ogre::Node::translate(). |
|
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
Definition at line 345 of file OgreNode.cpp. References Ogre::Real, and Ogre::Node::translate(). |
|
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
Definition at line 338 of file OgreNode.cpp. References Ogre::Node::mPosition, and Ogre::Node::needUpdate(). Referenced by Ogre::AnimationTrack::applyToNode(), Ogre::Node::createChild(), Ogre::Bone::createChild(), Ogre::Skeleton::createTagPoint(), Ogre::OverlayManager::parseNewMesh(), and Ogre::Node::translate(). |
|
Returns whether or not to use an 'identity' projection.
Reimplemented in Ogre::GuiElement, and Ogre::BorderRenderable. Definition at line 108 of file OgreRenderable.h. Referenced by Ogre::SceneManager::useRenderableViewProjMode(). |
|
Returns whether or not to use an 'identity' projection.
Reimplemented in Ogre::GuiElement, and Ogre::BorderRenderable. Definition at line 118 of file OgreRenderable.h. Referenced by Ogre::SceneManager::useRenderableViewProjMode(). |
|
Rotate the node around the Y-axis.
Definition at line 373 of file OgreNode.cpp. References Ogre::Real, and Ogre::Node::rotate(). |
|
Definition at line 165 of file OgreNode.h. Referenced by Ogre::Node::_weightedTransform(), Ogre::Node::Node(), and Ogre::Node::resetToInitialState(). |
|
Cached derived transform as a 4x4 matrix.
Definition at line 174 of file OgreNode.h. Referenced by Ogre::Node::_getFullTransform(). |
|
Definition at line 175 of file OgreNode.h. Referenced by Ogre::Node::_getFullTransform(), Ogre::Node::_updateFromParent(), and Ogre::Node::needUpdate(). |
|
Collection of pointers to direct children; hashmap for efficiency.
Definition at line 60 of file OgreNode.h. Referenced by _findVisibleObjects(), Ogre::OctreeNode::_removeNodeAndChildren(), Ogre::Node::_update(), _updateBounds(), Ogre::Node::addChild(), Ogre::Node::getChild(), Ogre::Node::getChildIterator(), Ogre::Node::numChildren(), Ogre::Node::removeAllChildren(), removeAndDestroyAllChildren(), and Ogre::Node::removeChild(). |
|
List of children which need updating, used if self is not out of date but children are.
Definition at line 64 of file OgreNode.h. Referenced by Ogre::Node::_update(), Ogre::Node::cancelUpdate(), Ogre::Node::needUpdate(), and Ogre::Node::requestUpdate(). |
|
SceneManager which created this node.
Definition at line 61 of file OgreSceneNode.h. Referenced by _findVisibleObjects(), createChildImpl(), getCreator(), and getLights(). |
|
Cached combined orientation.
This member is the orientation derived by combining the local transformations and those of it's parents. This is updated when _updateFromParent is called by the SceneManager or the nodes parent. Definition at line 100 of file OgreNode.h. Referenced by Ogre::Node::_getDerivedOrientation(), Ogre::TagPoint::_updateFromParent(), Ogre::Node::_updateFromParent(), and Ogre::Node::Node(). |
|
Cached combined position.
This member is the position derived by combining the local transformations and those of it's parents. This is updated when _updateFromParent is called by the SceneManager or the nodes parent. Definition at line 109 of file OgreNode.h. Referenced by Ogre::Node::_getDerivedPosition(), Ogre::TagPoint::_updateFromParent(), Ogre::Node::_updateFromParent(), and Ogre::Node::Node(). |
|
Cached combined scale.
This member is the position derived by combining the local transformations and those of it's parents. This is updated when _updateFromParent is called by the SceneManager or the nodes parent. Definition at line 118 of file OgreNode.h. Referenced by Ogre::Node::_getDerivedScale(), Ogre::TagPoint::_updateFromParent(), Ogre::Node::_updateFromParent(), and Ogre::Node::Node(). |
|
Stores whether this node inherits scale from it's parent.
Definition at line 88 of file OgreNode.h. Referenced by Ogre::Node::getInheritScale(), Ogre::Node::Node(), and Ogre::Node::setInheritScale(). |
|
The orientation to use as a base for keyframe animation.
Definition at line 160 of file OgreNode.h. Referenced by Ogre::Node::_weightedTransform(), Ogre::Node::getInitialOrientation(), Ogre::Node::Node(), Ogre::Node::resetToInitialState(), and Ogre::Node::setInitialState(). |
|
The position to use as a base for keyframe animation.
Definition at line 158 of file OgreNode.h. Referenced by Ogre::Node::_weightedTransform(), Ogre::Node::getInitialPosition(), Ogre::Node::Node(), Ogre::Node::resetToInitialState(), and Ogre::Node::setInitialState(). |
|
The scale to use as a base for keyframe animation.
Definition at line 162 of file OgreNode.h. Referenced by Ogre::Node::_weightedTransform(), Ogre::Node::getInitialScale(), Ogre::Node::Node(), Ogre::Node::resetToInitialState(), and Ogre::Node::setInitialState(). |
|
Definition at line 52 of file OgreSceneNode.h. Referenced by getLights(). |
|
Definition at line 53 of file OgreSceneNode.h. |
|
Friendly name of this node, can be automatically generated if you don't care.
Definition at line 73 of file OgreNode.h. Referenced by Ogre::Node::getName(), and Ogre::Node::Node(). |
|
Flag indicating that all children need to be updated.
Definition at line 68 of file OgreNode.h. Referenced by Ogre::Node::_update(), Ogre::Node::cancelUpdate(), and Ogre::Node::needUpdate(). |
|
Flag to indicate own transform from parent is out of date.
Definition at line 66 of file OgreNode.h. Referenced by Ogre::Node::_getDerivedOrientation(), Ogre::Node::_getDerivedPosition(), Ogre::Node::_update(), Ogre::BspSceneNode::_update(), and Ogre::Node::needUpdate(). |
|
Definition at line 51 of file OgreSceneNode.h. Referenced by Ogre::OctreeNode::_addToRenderQueue(), _findVisibleObjects(), Ogre::BspSceneNode::_update(), _updateBounds(), Ogre::OctreeNode::_updateBounds(), attachObject(), detachAllObjects(), Ogre::BspSceneNode::detachAllObjects(), detachObject(), getAttachedObject(), getAttachedObjectIterator(), numAttachedObjects(), and ~SceneNode(). |
|
Stores the orientation of the node relative to it's parent.
Definition at line 79 of file OgreNode.h. Referenced by Ogre::Node::_updateFromParent(), Ogre::Node::_weightedTransform(), Ogre::Node::getLocalAxes(), Ogre::Node::getOrientation(), Ogre::Node::Node(), Ogre::Node::resetOrientation(), Ogre::Node::resetToInitialState(), Ogre::Node::rotate(), Ogre::Node::setInitialState(), and Ogre::Node::setOrientation(). |
|
Pointer to parent node.
Definition at line 58 of file OgreNode.h. Referenced by Ogre::Node::_updateFromParent(), Ogre::Node::cancelUpdate(), Ogre::Node::getParent(), Ogre::Node::needUpdate(), Ogre::Node::Node(), Ogre::Node::requestUpdate(), and Ogre::Node::setParent(). |
|
Flag indicating that parent has been notified about update request.
Definition at line 70 of file OgreNode.h. Referenced by Ogre::Node::_update(), Ogre::Node::cancelUpdate(), Ogre::Node::needUpdate(), Ogre::Node::Node(), Ogre::Node::requestUpdate(), and Ogre::Node::setParent(). |
|
Stores the position/translation of the node relative to its parent.
Definition at line 82 of file OgreNode.h. Referenced by Ogre::Node::_updateFromParent(), Ogre::Node::_weightedTransform(), Ogre::Node::getPosition(), Ogre::Node::Node(), Ogre::Node::resetToInitialState(), Ogre::Node::setInitialState(), Ogre::Node::setPosition(), and Ogre::Node::translate(). |
|
Definition at line 169 of file OgreNode.h. Referenced by Ogre::Node::_weightedTransform(), and Ogre::Node::resetToInitialState(). |
|
Stores the scaling factor applied to this node.
Definition at line 85 of file OgreNode.h. Referenced by Ogre::Node::_updateFromParent(), Ogre::Node::_weightedTransform(), Ogre::Node::getScale(), Ogre::Node::Node(), Ogre::Node::resetToInitialState(), Ogre::Node::scale(), Ogre::Node::setInitialState(), and Ogre::Node::setScale(). |
|
Definition at line 171 of file OgreNode.h. Referenced by Ogre::Node::_weightedTransform(), and Ogre::Node::resetToInitialState(). |
|
Flag that determines if the bounding box of the node should be displayed.
Definition at line 58 of file OgreSceneNode.h. Referenced by _findVisibleObjects(), getShowBoundingBox(), and showBoundingBox(). |
|
Incremented count for next name extension.
Definition at line 40 of file OgreNode.cpp. Referenced by Ogre::Node::Node(). |
|
Definition at line 167 of file OgreNode.h. Referenced by Ogre::Node::_weightedTransform(), and Ogre::Node::resetToInitialState(). |
|
Pointer to a Wire Bounding Box for this Node.
Definition at line 56 of file OgreSceneNode.h. Referenced by _addBoundingBoxToQueue(), and ~SceneNode(). |
|
World-Axis aligned bounding box, updated only through _update.
Definition at line 64 of file OgreSceneNode.h. Referenced by _addBoundingBoxToQueue(), _findVisibleObjects(), _getWorldAABB(), Ogre::OctreeNode::_isIn(), _updateBounds(), and Ogre::OctreeNode::_updateBounds(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:20:13 2004