#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
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:01:22 2006