#include <OgreNode.h>
Public Types | |
| enum | TransformSpace { TS_LOCAL, TS_PARENT, TS_WORLD } |
| Enumeration denoting the spaces which a transform can be relative to. More... | |
| typedef HashMap < String, Node * > | ChildNodeMap |
| typedef MapIterator < ChildNodeMap > | ChildNodeIterator |
| typedef ConstMapIterator < ChildNodeMap > | ConstChildNodeIterator |
Public Member Functions | |
| Node () | |
| Constructor, should only be called by parent, not directly. | |
| Node (const String &name) | |
| Constructor, should only be called by parent, not directly. | |
| virtual | ~Node () |
| 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 | setInheritOrientation (bool inherit) |
| Tells the node whether it should inherit orientation from it's parent node. | |
| virtual bool | getInheritOrientation (void) const |
| Returns true if this node is affected by orientation applied to the parent 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, TransformSpace relativeTo=TS_PARENT) |
| Moves the node along the cartesian axes. | |
| virtual void | translate (Real x, Real y, Real z, TransformSpace relativeTo=TS_PARENT) |
| Moves the node along the cartesian axes. | |
| virtual void | translate (const Matrix3 &axes, const Vector3 &move, TransformSpace relativeTo=TS_PARENT) |
| Moves the node along arbitrary axes. | |
| virtual void | translate (const Matrix3 &axes, Real x, Real y, Real z, TransformSpace relativeTo=TS_PARENT) |
| Moves the node along arbitrary axes. | |
| virtual void | roll (const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around the Z-axis. | |
| virtual void | pitch (const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around the X-axis. | |
| virtual void | yaw (const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around the Y-axis. | |
| virtual void | rotate (const Vector3 &axis, const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around an arbitrary axis. | |
| virtual void | rotate (const Quaternion &q, TransformSpace relativeTo=TS_LOCAL) |
| 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 ConstChildNodeIterator | getChildIterator (void) const |
| 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 (Node *child) |
| 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 const Matrix4 & | _getFullTransform (void) const |
| Gets the full transformation matrix for this node. | |
| virtual void | _update (bool updateChildren, bool parentHasChanged) |
| Internal method to update the Node. | |
| virtual void | setListener (Listener *listener) |
| Sets a listener for this Node. | |
| virtual Listener * | getListener (void) const |
| Gets the current listener for this Node. | |
| const MaterialPtr & | 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 |
| Gets the worldspace orientation of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling. | |
| const Vector3 & | getWorldPosition (void) const |
| Gets the worldspace position of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling. | |
| 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. | |
| Real | getSquaredViewDepth (const Camera *cam) const |
| Overridden, see Renderable. | |
| virtual void | needUpdate (bool forceParentUpdate=false) |
| To be called in the event of transform changes to this node that require it's recalculation. | |
| virtual void | requestUpdate (Node *child, bool forceParentUpdate=false) |
| 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. | |
| const LightList & | getLights (void) const |
| Gets a list of lights, ordered relative to how close they are to this renderable.
| |
| 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. | |
| void | setUseIdentityProjection (bool useIdentityProjection) |
| Sets whether or not to use an 'identity' projection. | |
| bool | getUseIdentityProjection (void) const |
| Returns whether or not to use an 'identity' projection. | |
| void | setUseIdentityView (bool useIdentityView) |
| Sets whether or not to use an 'identity' view. | |
| bool | getUseIdentityView (void) const |
| Returns whether or not to use an 'identity' view. | |
| virtual bool | getNormaliseNormals (void) const |
| Returns whether or not this Renderable wishes the hardware to normalise normals. | |
| virtual const PlaneList & | getClipPlanes () const |
| virtual bool | getCastsShadows (void) const |
| Method which reports whether this renderable would normally cast a shadow. | |
| void | setCustomParameter (size_t index, const Vector4 &value) |
| Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters. | |
| const Vector4 & | getCustomParameter (size_t index) const |
| Gets the custom value associated with this Renderable at the given index. | |
| virtual void | _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const |
| Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows. | |
| virtual void | setPolygonModeOverrideable (bool override) |
| Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. | |
| virtual bool | getPolygonModeOverrideable (void) const |
| Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. | |
Static Public Member Functions | |
| static void | queueNeedUpdate (Node *n) |
| Queue a 'needUpdate' call to a node safely. | |
| static void | processQueuedUpdates (void) |
| Process queued 'needUpdate' calls. | |
Protected Types | |
| typedef std::set < Node * > | ChildUpdateSet |
| typedef std::vector < Node * > | QueuedUpdates |
| typedef std::map < size_t, Vector4 > | CustomParameterMap |
Protected Member Functions | |
| virtual void | setParent (Node *parent) |
| Only available internally - notification of parent. | |
| virtual void | _updateFromParent (void) const |
| Triggers the node to update it's combined transforms. | |
| virtual void | updateFromParentImpl (void) const |
| Class-specific implementation of _updateFromParent. | |
| virtual Node * | createChildImpl (void)=0 |
| Internal method for creating a new child node - must be overridden per subclass. | |
| virtual Node * | createChildImpl (const String &name)=0 |
| Internal method for creating a new child node - must be overridden per subclass. | |
Protected Attributes | |
| 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. | |
| bool | mQueuedForUpdate |
| Flag indicating that the node has been queued for update. | |
| 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 | mInheritOrientation |
| Stores whether this node inherits orientation from it's parent. | |
| bool | mInheritScale |
| Stores whether this node inherits scale from it's parent. | |
| MaterialPtr | mpMaterial |
| Material pointer should this node be rendered. | |
| 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. | |
| Matrix4 | mCachedTransform |
| Cached derived transform as a 4x4 matrix. | |
| bool | mCachedTransformOutOfDate |
| Listener * | mListener |
| Node listener - only one allowed (no list) for size & performance reasons. | |
| CustomParameterMap | mCustomParameters |
| bool | mPolygonModeOverrideable |
| bool | mUseIdentityProjection |
| bool | mUseIdentityView |
Static Protected Attributes | |
| static unsigned long | msNextGeneratedNameExt |
| Incremented count for next name extension. | |
| static QueuedUpdates | msQueuedUpdates |
| static const PlaneList | msDummyPlaneList |
Classes | |
| class | Listener |
| Listener which gets called back on Node events. More... | |
Definition at line 54 of file OgreNode.h.
| typedef HashMap<String, Node*> Ogre::Node::ChildNodeMap |
Definition at line 68 of file OgreNode.h.
Definition at line 69 of file OgreNode.h.
Definition at line 70 of file OgreNode.h.
typedef std::set<Node*> Ogre::Node::ChildUpdateSet [protected] |
Definition at line 101 of file OgreNode.h.
typedef std::vector<Node*> Ogre::Node::QueuedUpdates [protected] |
Definition at line 204 of file OgreNode.h.
typedef std::map<size_t, Vector4> Ogre::Renderable::CustomParameterMap [protected, inherited] |
Definition at line 285 of file OgreRenderable.h.
Enumeration denoting the spaces which a transform can be relative to.
| 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. |
Definition at line 59 of file OgreNode.h.
| Ogre::Node::Node | ( | ) |
Constructor, should only be called by parent, not directly.
| Ogre::Node::Node | ( | const String & | name | ) |
Constructor, should only be called by parent, not directly.
| virtual Ogre::Node::~Node | ( | ) | [virtual] |
| virtual void Ogre::Node::setParent | ( | Node * | parent | ) | [protected, virtual] |
| virtual void Ogre::Node::_updateFromParent | ( | void | ) | const [protected, virtual] |
Triggers the node to update it's combined transforms.
| virtual void Ogre::Node::updateFromParentImpl | ( | void | ) | const [protected, virtual] |
Class-specific implementation of _updateFromParent.
Reimplemented in Ogre::SceneNode, and Ogre::TagPoint.
| virtual Node* Ogre::Node::createChildImpl | ( | void | ) | [protected, pure virtual] |
Internal method for creating a new child node - must be overridden per subclass.
Implemented in Ogre::Bone, and Ogre::SceneNode.
Internal method for creating a new child node - must be overridden per subclass.
Implemented in Ogre::Bone, and Ogre::SceneNode.
| const String& Ogre::Node::getName | ( | void | ) | const |
Returns the name of the node.
| virtual Node* Ogre::Node::getParent | ( | void | ) | const [virtual] |
Gets this node's parent (NULL if this is the root).
| virtual const Quaternion& Ogre::Node::getOrientation | ( | ) | const [virtual] |
Returns a quaternion representing the nodes orientation.
| virtual void Ogre::Node::setOrientation | ( | const Quaternion & | q | ) | [virtual] |
Sets the orientation of this node via a quaternion.
Sets the orientation of this node via quaternion parameters.
| virtual void Ogre::Node::resetOrientation | ( | void | ) | [virtual] |
Resets the nodes orientation (local axes as world axes, no rotation).
| virtual void Ogre::Node::setPosition | ( | const Vector3 & | pos | ) | [virtual] |
Sets the position of the node relative to it's parent.
Sets the position of the node relative to it's parent.
| virtual const Vector3& Ogre::Node::getPosition | ( | void | ) | const [virtual] |
Gets the position of the node relative to it's parent.
| virtual void Ogre::Node::setScale | ( | const Vector3 & | scale | ) | [virtual] |
Sets the scaling factor applied to this node.
Sets the scaling factor applied to this node.
| virtual const Vector3& Ogre::Node::getScale | ( | void | ) | const [virtual] |
Gets the scaling factor of this node.
| virtual void Ogre::Node::setInheritOrientation | ( | bool | inherit | ) | [virtual] |
Tells the node whether it should inherit orientation from it's parent node.
| inherit | If true, this node's orientation will be affected by its parent's orientation. If false, it will not be affected. |
| virtual bool Ogre::Node::getInheritOrientation | ( | void | ) | const [virtual] |
Returns true if this node is affected by orientation applied to the parent node.
See setInheritOrientation for more info.
| virtual void Ogre::Node::setInheritScale | ( | bool | inherit | ) | [virtual] |
Tells the node whether it should inherit scaling factors from it's parent node.
| inherit | If true, this node's scale will be affected by its parent's scale. If false, it will not be affected. |
| virtual bool Ogre::Node::getInheritScale | ( | void | ) | const [virtual] |
Returns true if this node is affected by scaling factors applied to the parent node.
| virtual void Ogre::Node::scale | ( | const Vector3 & | scale | ) | [virtual] |
Scales the node, combining it's current scale with the passed in scaling factor.
Scales the node, combining it's current scale with the passed in scaling factor.
| virtual void Ogre::Node::translate | ( | const Vector3 & | d, | |
| TransformSpace | relativeTo = TS_PARENT | |||
| ) | [virtual] |
Moves the node along the cartesian axes.
| d | Vector with x,y,z values representing the translation. | |
| relativeTo | The space which this transform is relative to. |
| virtual void Ogre::Node::translate | ( | Real | x, | |
| Real | y, | |||
| Real | z, | |||
| TransformSpace | relativeTo = TS_PARENT | |||
| ) | [virtual] |
Moves the node along the cartesian axes.
| x | ||
| y | ||
| z | Real x, y and z values representing the translation. | |
| relativeTo | The space which this transform is relative to. |
| virtual void Ogre::Node::translate | ( | const Matrix3 & | axes, | |
| const Vector3 & | move, | |||
| TransformSpace | relativeTo = TS_PARENT | |||
| ) | [virtual] |
Moves the node along arbitrary axes.
| axes | A 3x3 Matrix containg 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. |
| virtual void Ogre::Node::translate | ( | const Matrix3 & | axes, | |
| Real | x, | |||
| Real | y, | |||
| Real | z, | |||
| TransformSpace | relativeTo = TS_PARENT | |||
| ) | [virtual] |
Moves the node along arbitrary axes.
| axes | A 3x3 Matrix containg 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. | |
| x,y,z | Translation components relative to the axes above. | |
| relativeTo | The space which this transform is relative to. |
| virtual void Ogre::Node::roll | ( | const Radian & | angle, | |
| TransformSpace | relativeTo = TS_LOCAL | |||
| ) | [virtual] |
Rotate the node around the Z-axis.
| virtual void Ogre::Node::pitch | ( | const Radian & | angle, | |
| TransformSpace | relativeTo = TS_LOCAL | |||
| ) | [virtual] |
Rotate the node around the X-axis.
| virtual void Ogre::Node::yaw | ( | const Radian & | angle, | |
| TransformSpace | relativeTo = TS_LOCAL | |||
| ) | [virtual] |
| virtual void Ogre::Node::rotate | ( | const Vector3 & | axis, | |
| const Radian & | angle, | |||
| TransformSpace | relativeTo = TS_LOCAL | |||
| ) | [virtual] |
Rotate the node around an arbitrary axis.
| virtual void Ogre::Node::rotate | ( | const Quaternion & | q, | |
| TransformSpace | relativeTo = TS_LOCAL | |||
| ) | [virtual] |
Rotate the node around an aritrary axis using a Quarternion.
| virtual Matrix3 Ogre::Node::getLocalAxes | ( | void | ) | const [virtual] |
Gets a matrix whose columns are the local axes based on the nodes orientation relative to it's parent.
| virtual Node* Ogre::Node::createChild | ( | const Vector3 & | translate = Vector3::ZERO, |
|
| const Quaternion & | rotate = Quaternion::IDENTITY | |||
| ) | [virtual] |
Creates an unnamed new Node as a child of this node.
| translate | Initial translation offset of child relative to parent | |
| rotate | Initial rotation relative to parent |
| virtual Node* Ogre::Node::createChild | ( | const String & | name, | |
| const Vector3 & | translate = Vector3::ZERO, |
|||
| const Quaternion & | rotate = Quaternion::IDENTITY | |||
| ) | [virtual] |
Creates a new named Node as a child of this node.
| translate | Initial translation offset of child relative to parent | |
| rotate | Initial rotation relative to parent |
| virtual void Ogre::Node::addChild | ( | Node * | child | ) | [virtual] |
Adds a (precreated) child scene node to this node.
If it is attached to another node, it must be detached first.
| child | The Node which is to become a child node of this one |
| virtual unsigned short Ogre::Node::numChildren | ( | void | ) | const [virtual] |
Reports the number of child nodes under this one.
| virtual Node* Ogre::Node::getChild | ( | unsigned short | index | ) | const [virtual] |
Gets a pointer to a child node.
Gets a pointer to a named child node.
| virtual ChildNodeIterator Ogre::Node::getChildIterator | ( | void | ) | [virtual] |
Retrieves an iterator for efficiently looping through all children of this node.
| virtual ConstChildNodeIterator Ogre::Node::getChildIterator | ( | void | ) | const [virtual] |
Retrieves an iterator for efficiently looping through all children of this node.
| virtual Node* Ogre::Node::removeChild | ( | unsigned short | index | ) | [virtual] |
Drops the specified child from this node.
Drops the specified child from this node.
Drops the named child from this node.
| virtual void Ogre::Node::removeAllChildren | ( | void | ) | [virtual] |
Removes all child Nodes attached to this node.
Does not delete the nodes, just detaches them from this parent, potentially to be reattached elsewhere.
| virtual const Quaternion& Ogre::Node::_getDerivedOrientation | ( | void | ) | const [virtual] |
Gets the orientation of the node as derived from all parents.
| virtual const Vector3& Ogre::Node::_getDerivedPosition | ( | void | ) | const [virtual] |
Gets the position of the node as derived from all parents.
| virtual const Vector3& Ogre::Node::_getDerivedScale | ( | void | ) | const [virtual] |
Gets the scaling factor of the node as derived from all parents.
| virtual const Matrix4& Ogre::Node::_getFullTransform | ( | void | ) | const [virtual] |
Gets the full transformation matrix for this node.
| virtual void Ogre::Node::_update | ( | bool | updateChildren, | |
| bool | parentHasChanged | |||
| ) | [virtual] |
Internal method to update the Node.
| updateChildren | If true, the update cascades down to all children. Specify false if you wish to update children separately, e.g. because of a more selective SceneManager implementation. | |
| parentHasChanged | This flag indicates that the parent xform has changed, so the child should retrieve the parent's xform and combine it with its own even if it hasn't changed itself. |
Reimplemented in Ogre::SceneNode.
| virtual void Ogre::Node::setListener | ( | Listener * | listener | ) | [virtual] |
Sets a listener for this Node.
Definition at line 638 of file OgreNode.h.
| virtual Listener* Ogre::Node::getListener | ( | void | ) | const [virtual] |
| const MaterialPtr& Ogre::Node::getMaterial | ( | void | ) | const [virtual] |
Overridden from Renderable.
Implements Ogre::Renderable.
| void Ogre::Node::getRenderOperation | ( | RenderOperation & | op | ) | [virtual] |
Overridden from Renderable.
Implements Ogre::Renderable.
| void Ogre::Node::getWorldTransforms | ( | Matrix4 * | xform | ) | const [virtual] |
Overridden from Renderable.
Implements Ogre::Renderable.
| const Quaternion& Ogre::Node::getWorldOrientation | ( | void | ) | const [virtual] |
Gets the worldspace orientation of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling.
Implements Ogre::Renderable.
| const Vector3& Ogre::Node::getWorldPosition | ( | void | ) | const [virtual] |
Gets the worldspace position of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling.
Implements Ogre::Renderable.
| virtual void Ogre::Node::setInitialState | ( | void | ) | [virtual] |
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 Ogre::Node::resetToInitialState | ( | void | ) | [virtual] |
Resets the position / orientation / scale of this node to it's initial state, see setInitialState for more info.
| virtual const Vector3& Ogre::Node::getInitialPosition | ( | void | ) | const [virtual] |
Gets the initial position of this node, see setInitialState for more info.
| virtual const Quaternion& Ogre::Node::getInitialOrientation | ( | void | ) | const [virtual] |
Gets the initial orientation of this node, see setInitialState for more info.
| virtual const Vector3& Ogre::Node::getInitialScale | ( | void | ) | const [virtual] |
Gets the initial position of this node, see setInitialState for more info.
| virtual void Ogre::Node::needUpdate | ( | bool | forceParentUpdate = false |
) | [virtual] |
To be called in the event of transform changes to this node that require it's recalculation.
| forceParentUpdate | Even if the node thinks it has already told it's parent, tell it anyway |
Reimplemented in Ogre::Bone, and Ogre::TagPoint.
| virtual void Ogre::Node::requestUpdate | ( | Node * | child, | |
| bool | forceParentUpdate = false | |||
| ) | [virtual] |
Called by children to notify their parent that they need an update.
| forceParentUpdate | Even if the node thinks it has already told it's parent, tell it anyway |
| virtual void Ogre::Node::cancelUpdate | ( | Node * | child | ) | [virtual] |
Called by children to notify their parent that they no longer need an update.
| static void Ogre::Node::queueNeedUpdate | ( | Node * | n | ) | [static] |
Queue a 'needUpdate' call to a node safely.
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.
| static void Ogre::Node::processQueuedUpdates | ( | void | ) | [static] |
Process queued 'needUpdate' calls.
| const LightList& Ogre::Node::getLights | ( | void | ) | const [virtual] |
Gets a list of lights, ordered relative to how close they are to this renderable.
Implements Ogre::Renderable.
Reimplemented in Ogre::TagPoint.
| virtual Technique* Ogre::Renderable::getTechnique | ( | void | ) | const [virtual, inherited] |
Retrieves a pointer to the Material Technique this renderable object uses.
Reimplemented in Ogre::InstancedGeometry::GeometryBucket, Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.
Definition at line 73 of file OgreRenderable.h.
| virtual unsigned short Ogre::Renderable::getNumWorldTransforms | ( | void | ) | const [virtual, inherited] |
Returns the number of world transform matrices this renderable requires.
Reimplemented in Ogre::BorderRenderable, Ogre::InstancedGeometry::GeometryBucket, and Ogre::SubEntity.
Definition at line 111 of file OgreRenderable.h.
| void Ogre::Renderable::setUseIdentityProjection | ( | bool | useIdentityProjection | ) | [inherited] |
Sets whether or not to use an 'identity' projection.
Definition at line 122 of file OgreRenderable.h.
| bool Ogre::Renderable::getUseIdentityProjection | ( | void | ) | const [inherited] |
Returns whether or not to use an 'identity' projection.
Definition at line 136 of file OgreRenderable.h.
| void Ogre::Renderable::setUseIdentityView | ( | bool | useIdentityView | ) | [inherited] |
Sets whether or not to use an 'identity' view.
Definition at line 147 of file OgreRenderable.h.
| bool Ogre::Renderable::getUseIdentityView | ( | void | ) | const [inherited] |
Returns whether or not to use an 'identity' view.
Definition at line 161 of file OgreRenderable.h.
| virtual bool Ogre::Renderable::getNormaliseNormals | ( | void | ) | const [virtual, inherited] |
Returns whether or not this Renderable wishes the hardware to normalise normals.
Reimplemented in Ogre::SubEntity.
Definition at line 171 of file OgreRenderable.h.
| virtual const PlaneList& Ogre::Renderable::getClipPlanes | ( | ) | const [virtual, inherited] |
Definition at line 179 of file OgreRenderable.h.
| virtual bool Ogre::Renderable::getCastsShadows | ( | void | ) | const [virtual, inherited] |
Method which reports whether this renderable would normally cast a shadow.
Reimplemented in Ogre::InstancedGeometry::GeometryBucket, Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.
Definition at line 187 of file OgreRenderable.h.
| void Ogre::Renderable::setCustomParameter | ( | size_t | index, | |
| const Vector4 & | value | |||
| ) | [inherited] |
Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.
| index | The index with which to associate the value. Note that this does not have to start at 0, and can include gaps. It also has no direct correlation with a GPU program parameter index - the mapping between the two is performed by the ACT_CUSTOM entry, if that is used. | |
| value | The value to associate. |
Definition at line 204 of file OgreRenderable.h.
| const Vector4& Ogre::Renderable::getCustomParameter | ( | size_t | index | ) | const [inherited] |
Gets the custom value associated with this Renderable at the given index.
| @see | setCustomParaemter for full details. |
Definition at line 213 of file OgreRenderable.h.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
| virtual void Ogre::Renderable::_updateCustomGpuParameter | ( | const GpuProgramParameters::AutoConstantEntry & | constantEntry, | |
| GpuProgramParameters * | params | |||
| ) | const [virtual, inherited] |
Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.
| constantEntry | The auto constant entry referring to the parameter being updated | |
| params | The parameters object which this method should call to set the updated parameters. |
Reimplemented in Ogre::SubEntity.
Definition at line 252 of file OgreRenderable.h.
References Ogre::GpuProgramParameters::_writeRawConstant(), Ogre::GpuProgramParameters::AutoConstantEntry::data, Ogre::GpuProgramParameters::AutoConstantEntry::elementCount, and Ogre::GpuProgramParameters::AutoConstantEntry::physicalIndex.
| virtual void Ogre::Renderable::setPolygonModeOverrideable | ( | bool | override | ) | [virtual, inherited] |
Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
| override | true means that a lower camera detail will override this renderables detail level, false means it won't. |
Definition at line 269 of file OgreRenderable.h.
| virtual bool Ogre::Renderable::getPolygonModeOverrideable | ( | void | ) | const [virtual, inherited] |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
Reimplemented in Ogre::BorderRenderable.
Definition at line 277 of file OgreRenderable.h.
Node* Ogre::Node::mParent [protected] |
ChildNodeMap Ogre::Node::mChildren [protected] |
Collection of pointers to direct children; hashmap for efficiency.
Definition at line 99 of file OgreNode.h.
ChildUpdateSet Ogre::Node::mChildrenToUpdate [mutable, protected] |
List of children which need updating, used if self is not out of date but children are.
Definition at line 103 of file OgreNode.h.
bool Ogre::Node::mNeedParentUpdate [mutable, protected] |
Flag to indicate own transform from parent is out of date.
Definition at line 105 of file OgreNode.h.
bool Ogre::Node::mNeedChildUpdate [mutable, protected] |
bool Ogre::Node::mParentNotified [mutable, protected] |
Flag indicating that parent has been notified about update request.
Definition at line 109 of file OgreNode.h.
bool Ogre::Node::mQueuedForUpdate [mutable, protected] |
Flag indicating that the node has been queued for update.
Definition at line 111 of file OgreNode.h.
String Ogre::Node::mName [protected] |
Friendly name of this node, can be automatically generated if you don't care.
Definition at line 114 of file OgreNode.h.
unsigned long Ogre::Node::msNextGeneratedNameExt [static, protected] |
Quaternion Ogre::Node::mOrientation [protected] |
Stores the orientation of the node relative to it's parent.
Definition at line 120 of file OgreNode.h.
Vector3 Ogre::Node::mPosition [protected] |
Stores the position/translation of the node relative to its parent.
Definition at line 123 of file OgreNode.h.
Vector3 Ogre::Node::mScale [protected] |
bool Ogre::Node::mInheritOrientation [protected] |
Stores whether this node inherits orientation from it's parent.
Definition at line 129 of file OgreNode.h.
bool Ogre::Node::mInheritScale [protected] |
Stores whether this node inherits scale from it's parent.
Definition at line 132 of file OgreNode.h.
MaterialPtr Ogre::Node::mpMaterial [mutable, protected] |
Quaternion Ogre::Node::mDerivedOrientation [mutable, protected] |
Cached combined orientation.
Definition at line 147 of file OgreNode.h.
Vector3 Ogre::Node::mDerivedPosition [mutable, protected] |
Cached combined position.
Definition at line 156 of file OgreNode.h.
Vector3 Ogre::Node::mDerivedScale [mutable, protected] |
Cached combined scale.
Definition at line 165 of file OgreNode.h.
Vector3 Ogre::Node::mInitialPosition [protected] |
Quaternion Ogre::Node::mInitialOrientation [protected] |
Vector3 Ogre::Node::mInitialScale [protected] |
Matrix4 Ogre::Node::mCachedTransform [mutable, protected] |
bool Ogre::Node::mCachedTransformOutOfDate [mutable, protected] |
Definition at line 199 of file OgreNode.h.
Listener* Ogre::Node::mListener [protected] |
Node listener - only one allowed (no list) for size & performance reasons.
Definition at line 202 of file OgreNode.h.
QueuedUpdates Ogre::Node::msQueuedUpdates [static, protected] |
Definition at line 205 of file OgreNode.h.
const PlaneList Ogre::Renderable::msDummyPlaneList [static, protected, inherited] |
Definition at line 284 of file OgreRenderable.h.
CustomParameterMap Ogre::Renderable::mCustomParameters [protected, inherited] |
Definition at line 286 of file OgreRenderable.h.
bool Ogre::Renderable::mPolygonModeOverrideable [protected, inherited] |
Definition at line 287 of file OgreRenderable.h.
bool Ogre::Renderable::mUseIdentityProjection [protected, inherited] |
Definition at line 288 of file OgreRenderable.h.
bool Ogre::Renderable::mUseIdentityView [protected, inherited] |
Definition at line 289 of file OgreRenderable.h.
Copyright © 2000-2005 by The OGRE Team

This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Mon Jun 16 12:51:00 2008