![]() |
OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
Specialized SceneNode that is customized for working within an Octree. More...
#include <OgreOctreeNode.h>
Inheritance diagram for Ogre::OctreeNode:Public Member Functions | |
| OctreeNode (SceneManager *creator) | |
| Standard constructor. | |
| OctreeNode (SceneManager *creator, const String &name) | |
| Standard constructor. | |
| ~OctreeNode () | |
| Standard destructor. | |
| virtual void | _addToRenderQueue (Camera *cam, RenderQueue *q, bool onlyShadowCasters, VisibleObjectsBoundsInfo *visibleBounds) |
| Adds all the attached scenenodes to the render queue. | |
| AxisAlignedBox & | _getLocalAABB () |
| Returns the local bounding box of this OctreeNode. | |
| bool | _isIn (AxisAlignedBox &box) |
| Determines if the center of this node is within the given box. | |
| Octree * | getOctant () |
| Returns the Octree in which this OctreeNode resides. | |
| virtual void | getRenderOperation (RenderOperation &op) |
| Sets up the LegacyRenderOperation for rendering this scene node as geometry. | |
| void | removeAllChildren (void) override |
| Overridden from Node to remove any reference to octants. | |
| Node * | removeChild (const String &name) override |
| Overridden from Node to remove any reference to octants. | |
| Node * | removeChild (Node *child) override |
| Overridden from Node to remove any reference to octants. | |
| Node * | removeChild (unsigned short index) override |
| Overridden from Node to remove any reference to octants. | |
| void | setOctant (Octree *o) |
| Sets the Octree in which this OctreeNode resides. | |
Public Member Functions inherited from Ogre::SceneNode | |
| 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 () | |
| void | _autoTrack (void) |
| Internal method used by OGRE to update auto-tracking cameras. | |
| 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. | |
| const AxisAlignedBox & | _getWorldAABB (void) const |
| Gets the axis-aligned bounding box of this node (and hence all subnodes). | |
| void | _notifyRootNode (void) |
| Notifies this SceneNode that it is the root scene node. | |
| void | _update (bool updateChildren, bool parentHasChanged) override |
| Internal method to update the Node. | |
| virtual void | attachObject (MovableObject *obj) |
| Adds an instance of a scene object to 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. | |
| virtual SceneNode * | createChildSceneNode (const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY) |
| Creates an unnamed new SceneNode as a child of this node. | |
| void | destroyAllChildrenAndObjects () |
| Destroys everything attatched to or decended from this node. | |
| void | destroyAllObjects (void) |
| Detaches and destroys all objects attached to this node. | |
| void | destroyChildAndObjects (const String &name) |
| Removes and destroys the child and all movable objects attached to the child, and does the same to any children of that child node. | |
| void | destroyChildAndObjects (SceneNode *child) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | destroyChildAndObjects (unsigned short index) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| virtual void | detachAllObjects (void) |
| Detaches all objects attached to this node. | |
| virtual MovableObject * | detachObject (const String &name) |
| Detaches the named object from this node and returns a pointer to it. | |
| virtual void | detachObject (MovableObject *obj) |
| Detaches an object by pointer. | |
| virtual MovableObject * | detachObject (unsigned short index) |
| Detaches the indexed object from this scene node. | |
| void | findLights (LightList &destList, Real radius, uint32 lightMask=0xFFFFFFFF) const |
| Allows retrieval of the nearest lights to the centre of this SceneNode. | |
| void | flipVisibility (bool cascade=true) const |
| Inverts the visibility of all objects attached to this node. | |
| MovableObject * | getAttachedObject (const String &name) const |
| Retrieves a pointer to an attached object by name. | |
| MovableObject * | getAttachedObject (size_t index) const |
| Retrieves a pointer to an attached object by index. | |
| ObjectIterator | getAttachedObjectIterator (void) |
| ConstObjectIterator | getAttachedObjectIterator (void) const |
| const ObjectMap & | getAttachedObjects () const |
| The MovableObjects attached to this node. | |
| const Vector3 & | getAutoTrackLocalDirection (void) const |
| Get the auto tracking local direction for this node, if it is auto tracking. | |
| const Vector3 & | getAutoTrackOffset (void) const |
| Get the auto tracking offset for this node, if the node is auto tracking. | |
| SceneNode * | getAutoTrackTarget (void) const |
| Get the auto tracking target for this node, if any. | |
| SceneManager * | getCreator (void) const |
| Gets the creator of this scene node. | |
| SceneNode * | getParentSceneNode (void) const |
| Gets the parent of this SceneNode. | |
| bool | getShowBoundingBox () const |
| This allows scene managers to determine if the node's bounding box should be added to the rendering queue. | |
| bool | isInSceneGraph (void) const |
| Determines whether this node is in the scene graph, i.e. | |
| void | loadChildren (const String &filename) |
| Load a scene from a file as children of this node. | |
| 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. | |
| size_t | numAttachedObjects (void) const |
| Reports the number of objects attached to this node. | |
| void | removeAndDestroyAllChildren (void) |
| Removes and destroys all children of this node. | |
| void | removeAndDestroyChild (const String &name) |
| This method removes and destroys the named child and all of its children. | |
| void | removeAndDestroyChild (SceneNode *child) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | removeAndDestroyChild (unsigned short index) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | saveChildren (const String &filename) |
| Save the scene hierarchy starting at this node to file. | |
| 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. | |
| void | setDebugDisplayEnabled (bool enabled, bool cascade=true) const |
| Tells all objects attached to this node whether to display their debug information or not. | |
| void | setDirection (const Vector3 &vec, TransformSpace relativeTo=TS_PARENT, const Vector3 &localDirectionVector=Vector3::NEGATIVE_UNIT_Z) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | setDirection (Real x, Real y, Real z, TransformSpace relativeTo=TS_PARENT, const Vector3 &localDirectionVector=Vector3::NEGATIVE_UNIT_Z) |
| Sets the node's direction vector ie it's local -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. | |
| void | setVisible (bool visible, bool cascade=true) const |
| Makes all objects attached to this node become visible / invisible. | |
| void | showBoundingBox (bool bShow) |
| Allows the showing of the node's bounding box. | |
| void | yaw (const Radian &angle, TransformSpace relativeTo=TS_LOCAL) override |
| Rotate the node around the Y-axis. | |
Public Member Functions inherited from Ogre::Node | |
| 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 Quaternion & | _getDerivedOrientation (void) const |
| Gets the orientation of the node as derived from all parents. | |
| const Vector3 & | _getDerivedPosition (void) const |
| Gets the position of the node as derived from all parents. | |
| const Vector3 & | _getDerivedScale (void) const |
| Gets the scaling factor of the node as derived from all parents. | |
| const Affine3 & | _getFullTransform (void) const |
| Gets the full transformation matrix for this node. | |
| void | _setDerivedOrientation (const Quaternion &q) |
| Sets the final world orientation of the node directly. | |
| void | _setDerivedPosition (const Vector3 &pos) |
| Sets the final world position of the node directly. | |
| void | addChild (Node *child) |
| Adds a (precreated) child scene node to this node. | |
| void | cancelUpdate (Node *child) |
| Called by children to notify their parent that they no longer need an update. | |
| 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. | |
| 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. | |
| 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. | |
| Vector3 | convertWorldToLocalDirection (const Vector3 &worldDir, bool useScale) |
| Gets the local direction, relative to this node, of the given world-space direction. | |
| Quaternion | convertWorldToLocalOrientation (const Quaternion &worldOrientation) |
| Gets the local orientation, relative to this node, of the given world-space orientation. | |
| Vector3 | convertWorldToLocalPosition (const Vector3 &worldPos) |
| Gets the local position, relative to this node, of the given world-space position. | |
| 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 Node * | createChild (const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY) |
| Creates an unnamed new Node as a child of this node. | |
| Node * | getChild (const String &name) const |
| Gets a pointer to a named child node. | |
| Node * | getChild (unsigned short index) const |
| Gets a pointer to a child node. | |
| ChildNodeIterator | getChildIterator (void) |
| ConstChildNodeIterator | getChildIterator (void) const |
| const ChildNodeMap & | getChildren () const |
| List of sub-nodes of this Node. | |
| bool | getInheritOrientation (void) const |
| Returns true if this node is affected by orientation applied to the parent node. | |
| bool | getInheritScale (void) const |
| Returns true if this node is affected by scaling factors applied to the parent node. | |
| const Quaternion & | getInitialOrientation (void) const |
| Gets the initial orientation of this node, see setInitialState for more info. | |
| const Vector3 & | getInitialPosition (void) const |
| Gets the initial position of this node, see setInitialState for more info. | |
| const Vector3 & | getInitialScale (void) const |
| Gets the initial position of this node, see setInitialState for more info. | |
| Listener * | getListener (void) const |
| Gets the current listener for this Node. | |
| Matrix3 | getLocalAxes (void) const |
| Gets a matrix whose columns are the local axes based on the nodes orientation relative to it's parent. | |
| const String & | getName (void) const |
| Returns the name of the node. | |
| const Quaternion & | getOrientation () const |
| Returns a quaternion representing the nodes orientation. | |
| Node * | getParent (void) const |
| Gets this node's parent (NULL if this is the root). | |
| const Vector3 & | getPosition (void) const |
| Gets the position of the node relative to it's parent. | |
| const Vector3 & | getScale (void) const |
| Gets the scaling factor of this node. | |
| Real | getSquaredViewDepth (const Camera *cam) const |
| Helper function, get the squared view depth. | |
| const Any & | getUserAny (void) const |
| UserObjectBindings & | getUserObjectBindings () |
| Class that provides convenient interface to establish a linkage between custom user application objects and Ogre core classes. | |
| const UserObjectBindings & | getUserObjectBindings () const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| virtual void | needUpdate (bool forceParentUpdate=false) |
| To be called in the event of transform changes to this node that require it's recalculation. | |
| uint16 | numChildren (void) const |
| Reports the number of child nodes under this one. | |
| virtual void | pitch (const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around the X-axis. | |
| void | requestUpdate (Node *child, bool forceParentUpdate=false) |
| Called by children to notify their parent that they need an update. | |
| void | resetOrientation (void) |
| Resets the nodes orientation (local axes as world axes, no rotation). | |
| void | resetToInitialState (void) |
| Resets the position / orientation / scale of this node to it's initial state, see setInitialState for more info. | |
| virtual void | roll (const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around the Z-axis. | |
| void | rotate (const Quaternion &q, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around an arbitrary axis using a Quarternion. | |
| void | rotate (const Vector3 &axis, const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around an arbitrary axis. | |
| void | scale (const Vector3 &scale) |
| Scales the node, combining it's current scale with the passed in scaling factor. | |
| void | scale (Real x, Real y, Real z) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | setInheritOrientation (bool inherit) |
| Tells the node whether it should inherit orientation from it's parent node. | |
| void | setInheritScale (bool inherit) |
| Tells the node whether it should inherit scaling factors from it's parent node. | |
| 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. | |
| void | setListener (Listener *listener) |
| Sets a listener for this Node. | |
| void | setOrientation (const Quaternion &q) |
| Sets the orientation of this node via a quaternion. | |
| void | setOrientation (Real w, Real x, Real y, Real z) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | setPosition (const Vector3 &pos) |
| Sets the position of the node relative to it's parent. | |
| void | setPosition (Real x, Real y, Real z) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | setScale (const Vector3 &scale) |
| Sets the scaling factor applied to this node. | |
| void | setScale (Real x, Real y, Real z) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | setUserAny (const Any &anything) |
| void | translate (const Matrix3 &axes, const Vector3 &move, TransformSpace relativeTo=TS_PARENT) |
| Moves the node along arbitrary axes. | |
| void | translate (const Matrix3 &axes, Real x, Real y, Real z, TransformSpace relativeTo=TS_PARENT) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | translate (const Vector3 &d, TransformSpace relativeTo=TS_PARENT) |
| Moves the node along the Cartesian axes. | |
| void | translate (Real x, Real y, Real z, TransformSpace relativeTo=TS_PARENT) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Additional Inherited Members | |
Public Types inherited from Ogre::SceneNode | |
| typedef ConstVectorIterator< ObjectMap > | ConstObjectIterator |
| typedef VectorIterator< ObjectMap > | ObjectIterator |
| typedef std::vector< MovableObject * > | ObjectMap |
Public Types inherited from Ogre::Node | |
| typedef VectorIterator< ChildNodeMap > | ChildNodeIterator |
| typedef std::vector< Node * > | ChildNodeMap |
| typedef ConstVectorIterator< ChildNodeMap > | ConstChildNodeIterator |
| enum | TransformSpace { TS_LOCAL , TS_PARENT , TS_WORLD } |
| Enumeration denoting the spaces which a transform can be relative to. More... | |
Static Public Member Functions inherited from Ogre::Node | |
| static void | processQueuedUpdates (void) |
| Process queued 'needUpdate' calls. | |
| static void | queueNeedUpdate (Node *n) |
| Queue a 'needUpdate' call to a node safely. | |
Specialized SceneNode that is customized for working within an Octree.
Each node maintains its own bounding box, rather than merging it with all the children.
| Ogre::OctreeNode::OctreeNode | ( | SceneManager * | creator | ) |
Standard constructor.
References Ogre::SceneNode::SceneManager.
| Ogre::OctreeNode::OctreeNode | ( | SceneManager * | creator, |
| const String & | name ) |
Standard constructor.
References Ogre::SceneNode::SceneManager.
| Ogre::OctreeNode::~OctreeNode | ( | ) |
Standard destructor.
|
overridevirtual |
Overridden from Node to remove any reference to octants.
Reimplemented from Ogre::Node.
Overridden from Node to remove any reference to octants.
Reimplemented from Ogre::Node.
Overridden from Node to remove any reference to octants.
Reimplemented from Ogre::Node.
|
overridevirtual |
Overridden from Node to remove any reference to octants.
Reimplemented from Ogre::Node.
|
inline |
Returns the Octree in which this OctreeNode resides.
|
inline |
Sets the Octree in which this OctreeNode resides.
| bool Ogre::OctreeNode::_isIn | ( | AxisAlignedBox & | box | ) |
Determines if the center of this node is within the given box.
|
virtual |
Adds all the attached scenenodes to the render queue.
|
virtual |
Sets up the LegacyRenderOperation for rendering this scene node as geometry.
This will render the scenenode as a bounding box.
|
inline |
Returns the local bounding box of this OctreeNode.
This is used to render the bounding box, rather then the global.