#include <OgreMovableObject.h>
Inheritance diagram for Ogre::MovableObject:

Public Types | |
| typedef std::vector< ShadowRenderable * > | ShadowRenderableList |
| typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
Public Member Functions | |
| MovableObject () | |
| Constructor. | |
| virtual | ~MovableObject () |
| Virtual destructor - read Scott Meyers if you don't know why this is needed. | |
| virtual const String & | getName (void) const=0 |
| Returns the name of this object. | |
| virtual const String & | getMovableType (void) const=0 |
| Returns the type name of this object. | |
| virtual Node * | getParentNode (void) const |
| Returns the node to which this object is attached. | |
| virtual SceneNode * | getParentSceneNode (void) const |
| Returns the scene node to which this object is attached. | |
| virtual void | _notifyAttached (Node *parent, bool isTagPoint=false) |
| Internal method called to notify the object that it has been attached to a node. | |
| virtual bool | isAttached (void) const |
| Returns true if this object is attached to a SceneNode or TagPoint. | |
| virtual bool | isInScene (void) const |
| Returns true if this object is attached to a SceneNode or TagPoint, and this SceneNode / TagPoint is currently in an active part of the scene graph. | |
| virtual void | _notifyCurrentCamera (Camera *cam)=0 |
| Internal method to notify the object of the camera to be used for the next rendering operation. | |
| virtual const AxisAlignedBox & | getBoundingBox (void) const=0 |
| Retrieves the local axis-aligned bounding box for this object. | |
| virtual Real | getBoundingRadius (void) const=0 |
| Retrieves the radius of the origin-centered bounding sphere for this object. | |
| virtual const AxisAlignedBox & | getWorldBoundingBox (bool derive=false) const |
| Retrieves the axis-aligned bounding box for this object in world coordinates. | |
| virtual const Sphere & | getWorldBoundingSphere (bool derive=false) const |
| Retrieves the worldspace bounding sphere for this object. | |
| virtual void | _updateRenderQueue (RenderQueue *queue)=0 |
| Internal method by which the movable object must add Renderable subclass instances to the rendering queue. | |
| virtual void | setVisible (bool visible) |
| Tells this object whether to be visible or not, if it has a renderable component. | |
| virtual bool | isVisible (void) const |
| Returns whether or not this object is supposed to be visible or not. | |
| virtual void | setUserObject (UserDefinedObject *obj) |
| Call this to associate your own custom user object instance with this MovableObject. | |
| virtual UserDefinedObject * | getUserObject (void) |
| Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject. | |
| virtual void | setRenderQueueGroup (RenderQueueGroupID queueID) |
| Sets the render queue group this entity will be rendered through. | |
| virtual RenderQueueGroupID | getRenderQueueGroup (void) const |
| Gets the queue group for this entity, see setRenderQueueGroup for full details. | |
| virtual Matrix4 | _getParentNodeFullTransform (void) const |
| return the full transformation of the parent sceneNode or the attachingPoint node | |
| virtual void | setQueryFlags (unsigned long flags) |
| Sets the query flags for this object. | |
| virtual void | addQueryFlags (unsigned long flags) |
| As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
| virtual void | removeQueryFlags (unsigned long flags) |
| As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
| virtual unsigned long | getQueryFlags (void) const |
| Returns the query flags relevant for this object. | |
| EdgeData * | getEdgeList (void) |
| Define a default implementation of method from ShadowCaster which implements no shadows. | |
| ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDist, unsigned long flags=0) |
| Define a default implementation of method from ShadowCaster which implements no shadows. | |
| const AxisAlignedBox & | getLightCapBounds (void) const |
| Overridden member from ShadowCaster. | |
| const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const |
| Overridden member from ShadowCaster. | |
| void | setCastShadows (bool enabled) |
| Sets whether or not this object will cast shadows. | |
| bool | getCastShadows (void) const |
| Returns whether shadow casting is enabled for this object. | |
| Real | getPointExtrusionDistance (const Light *l) const |
| Get the distance to extrude for a point/spot light. | |
Static Public Member Functions | |
| void | extrudeVertices (HardwareVertexBufferSharedPtr vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist) |
| Utility method for extruding vertices based on a light. | |
Protected Member Functions | |
| Real | getExtrusionDistance (const Vector3 &objectPos, const Light *light) const |
| Helper moethod for calculating extrusion distance. | |
| virtual void | updateEdgeListLightFacing (EdgeData *edgeData, const Vector4 &lightPos) |
| Tells the caster to perform the tasks necessary to update the edge data's light listing. | |
| virtual void | generateShadowVolume (EdgeData *edgeData, HardwareIndexBufferSharedPtr indexBuffer, const Light *light, ShadowRenderableList &shadowRenderables, unsigned long flags) |
| Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it. | |
| virtual void | extrudeBounds (AxisAlignedBox &box, const Vector4 &lightPos, Real extrudeDist) const |
| Utility method for extruding a bounding box. | |
Protected Attributes | |
| Node * | mParentNode |
| node to which this object is attached | |
| bool | mParentIsTagPoint |
| bool | mVisible |
| Is this object visible? | |
| UserDefinedObject * | mUserObject |
| User defined object which is linked to this object. | |
| RenderQueueGroupID | mRenderQueueID |
| The render queue to use when rendering this object. | |
| bool | mRenderQueueIDSet |
| Flags whether the RenderQueue's default should be used. | |
| unsigned long | mQueryFlags |
| Flags determining whether this object is included / excluded from scene queries. | |
| AxisAlignedBox | mWorldAABB |
| Cached world AABB of this object. | |
| Sphere | mWorldBoundingSphere |
| AxisAlignedBox | mWorldDarkCapBounds |
| World space AABB of this object's dark cap. | |
| bool | mCastShadows |
| Does this object cast shadows? | |
Definition at line 44 of file OgreMovableObject.h.
|
|
Definition at line 121 of file OgreShadowCaster.h. |
|
|
Definition at line 122 of file OgreShadowCaster.h. |
|
|
Constructor.
|
|
|
Virtual destructor - read Scott Meyers if you don't know why this is needed.
|
|
|
return the full transformation of the parent sceneNode or the attachingPoint node
|
|
||||||||||||
|
Internal method called to notify the object that it has been attached to a node.
Reimplemented in Ogre::Entity, and Ogre::ParticleSystem. |
|
|
Internal method to notify the object of the camera to be used for the next rendering operation.
Implemented in Ogre::BillboardSet, Ogre::Entity, Ogre::Frustum, Ogre::Light, Ogre::MovablePlane, Ogre::ParticleSystem, Ogre::SimpleRenderable, Ogre::StaticGeometry::Region, and Ogre::TerrainRenderable. |
|
|
Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
Implemented in Ogre::BillboardSet, Ogre::Entity, Ogre::Frustum, Ogre::Light, Ogre::MovablePlane, Ogre::ParticleSystem, Ogre::SimpleRenderable, Ogre::StaticGeometry::Region, and Ogre::TerrainRenderable. |
|
|
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
Definition at line 203 of file OgreMovableObject.h. |
|
||||||||||||||||
|
Utility method for extruding a bounding box.
|
|
||||||||||||||||||||
|
Utility method for extruding vertices based on a light.
|
|
||||||||||||||||||||||||
|
Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.
|
|
|
Retrieves the local axis-aligned bounding box for this object.
Implemented in Ogre::BillboardSet, Ogre::Entity, Ogre::Frustum, Ogre::Light, Ogre::MovablePlane, Ogre::ParticleSystem, Ogre::SimpleRenderable, Ogre::StaticGeometry::Region, and Ogre::TerrainRenderable. |
|
|
Retrieves the radius of the origin-centered bounding sphere for this object.
Implemented in Ogre::BillboardSet, Ogre::Camera, Ogre::Entity, Ogre::Frustum, Ogre::Light, Ogre::MovablePlane, Ogre::ParticleSystem, Ogre::Rectangle2D, Ogre::StaticGeometry::Region, Ogre::WireBoundingBox, and Ogre::TerrainRenderable. |
|
|
Returns whether shadow casting is enabled for this object.
Implements Ogre::ShadowCaster. Definition at line 238 of file OgreMovableObject.h. |
|
||||||||||||
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. |
|
|
Define a default implementation of method from ShadowCaster which implements no shadows.
Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity, and Ogre::StaticGeometry::Region. Definition at line 213 of file OgreMovableObject.h. |
|
||||||||||||
|
Helper moethod for calculating extrusion distance.
|
|
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. |
|
|
Returns the type name of this object.
Implemented in Ogre::BillboardSet, Ogre::Camera, Ogre::Entity, Ogre::Frustum, Ogre::Light, Ogre::MovablePlane, Ogre::ParticleSystem, Ogre::SimpleRenderable, Ogre::StaticGeometry::Region, and Ogre::TerrainRenderable. |
|
|
Returns the name of this object.
Implemented in Ogre::BillboardSet, Ogre::Camera, Ogre::Entity, Ogre::Frustum, Ogre::Light, Ogre::MovablePlane, Ogre::ParticleSystem, Ogre::SimpleRenderable, Ogre::StaticGeometry::Region, and Ogre::TerrainRenderable. |
|
|
Returns the node to which this object is attached.
|
|
|
Returns the scene node to which this object is attached.
|
|
|
Get the distance to extrude for a point/spot light.
Implements Ogre::ShadowCaster. |
|
|
Returns the query flags relevant for this object.
Definition at line 210 of file OgreMovableObject.h. |
|
|
Gets the queue group for this entity, see setRenderQueueGroup for full details.
|
|
||||||||||||||||||||||||||||
|
Define a default implementation of method from ShadowCaster which implements no shadows.
Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity, and Ogre::StaticGeometry::Region. |
|
|
Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.
Definition at line 171 of file OgreMovableObject.h. |
|
|
Retrieves the axis-aligned bounding box for this object in world coordinates.
Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. |
|
|
Retrieves the worldspace bounding sphere for this object.
Reimplemented in Ogre::Entity. |
|
|
Returns true if this object is attached to a SceneNode or TagPoint.
|
|
|
Returns true if this object is attached to a SceneNode or TagPoint, and this SceneNode / TagPoint is currently in an active part of the scene graph.
|
|
|
Returns whether or not this object is supposed to be visible or not.
Reimplemented in Ogre::StaticGeometry::Region. |
|
|
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
Definition at line 207 of file OgreMovableObject.h. |
|
|
Sets whether or not this object will cast shadows.
Definition at line 236 of file OgreMovableObject.h. |
|
|
Sets the query flags for this object.
Definition at line 199 of file OgreMovableObject.h. |
|
|
Sets the render queue group this entity will be rendered through.
Reimplemented in Ogre::Entity, and Ogre::ParticleSystem. |
|
|
Call this to associate your own custom user object instance with this MovableObject.
Definition at line 167 of file OgreMovableObject.h. |
|
|
Tells this object whether to be visible or not, if it has a renderable component.
Reimplemented in Ogre::Light. |
|
||||||||||||
|
Tells the caster to perform the tasks necessary to update the edge data's light listing. Can be overridden if the subclass needs to do additional things.
|
|
|
Does this object cast shadows?
Definition at line 67 of file OgreMovableObject.h. |
|
|
Definition at line 49 of file OgreMovableObject.h. |
|
|
node to which this object is attached
Definition at line 48 of file OgreMovableObject.h. |
|
|
Flags determining whether this object is included / excluded from scene queries.
Definition at line 59 of file OgreMovableObject.h. |
|
|
The render queue to use when rendering this object.
Definition at line 55 of file OgreMovableObject.h. |
|
|
Flags whether the RenderQueue's default should be used.
Definition at line 57 of file OgreMovableObject.h. |
|
|
User defined object which is linked to this object.
Definition at line 53 of file OgreMovableObject.h. |
|
|
Is this object visible?
Definition at line 51 of file OgreMovableObject.h. |
|
|
Cached world AABB of this object.
Reimplemented in Ogre::ParticleSystem. Definition at line 61 of file OgreMovableObject.h. |
|
|
Definition at line 63 of file OgreMovableObject.h. |
|
|
World space AABB of this object's dark cap.
Definition at line 65 of file OgreMovableObject.h. |
Copyright © 2000-2005 by The OGRE Team
Last modified Sun Nov 20 12:37:35 2005