#include <OgreStaticGeometry.h>
Inheritance diagram for Ogre::StaticGeometry::Region:
Public Types | |||||||||||||
typedef std::vector< LODBucket * > | LODBucketList | ||||||||||||
list of LOD Buckets in this region | |||||||||||||
typedef VectorIterator< LODBucketList > | LODIterator | ||||||||||||
typedef std::vector< ShadowRenderable * > | ShadowRenderableList | ||||||||||||
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator | ||||||||||||
Public Member Functions | |||||||||||||
Region (StaticGeometry *parent, const String &name, SceneManager *mgr, uint32 regionID, const Vector3 ¢re) | |||||||||||||
virtual | ~Region () | ||||||||||||
StaticGeometry * | getParent (void) const | ||||||||||||
void | assign (QueuedSubMesh *qmesh) | ||||||||||||
Assign a queued mesh to this region, read for final build. | |||||||||||||
void | build (bool stencilShadows) | ||||||||||||
Build this region. | |||||||||||||
uint32 | getID (void) const | ||||||||||||
Get the region ID of this region. | |||||||||||||
const Vector3 & | getCentre (void) const | ||||||||||||
Get the centre point of the region. | |||||||||||||
const String & | getName (void) const | ||||||||||||
Returns the name of this object. | |||||||||||||
const String & | getMovableType (void) const | ||||||||||||
Returns the type name of this object. | |||||||||||||
void | _notifyCurrentCamera (Camera *cam) | ||||||||||||
Internal method to notify the object of the camera to be used for the next rendering operation. | |||||||||||||
const AxisAlignedBox & | getBoundingBox (void) const | ||||||||||||
Retrieves the local axis-aligned bounding box for this object. | |||||||||||||
Real | getBoundingRadius (void) const | ||||||||||||
Retrieves the radius of the origin-centered bounding sphere for this object. | |||||||||||||
void | _updateRenderQueue (RenderQueue *queue) | ||||||||||||
Internal method by which the movable object must add Renderable subclass instances to the rendering queue. | |||||||||||||
bool | isVisible (void) const | ||||||||||||
Returns whether or not this object is supposed to be visible or not. | |||||||||||||
LODIterator | getLODIterator (void) | ||||||||||||
Get an iterator over the LODs in this region. | |||||||||||||
const LightList & | getLights (void) const | ||||||||||||
Shared set of lights for all GeometryBuckets. | |||||||||||||
ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDistance, unsigned long flags=0) | ||||||||||||
| |||||||||||||
EdgeData * | getEdgeList (void) | ||||||||||||
Overridden from MovableObject. | |||||||||||||
void | dump (std::ofstream &of) const | ||||||||||||
Dump contents for diagnostics. | |||||||||||||
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 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 | setVisible (bool visible) | ||||||||||||
Tells this object whether to be visible or not, if it has a renderable component. | |||||||||||||
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. | |||||||||||||
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 | |||||||||||||
StaticGeometry * | mParent | ||||||||||||
Parent static geometry. | |||||||||||||
String | mName | ||||||||||||
Generated name. | |||||||||||||
SceneManager * | mSceneMgr | ||||||||||||
Scene manager link. | |||||||||||||
SceneNode * | mNode | ||||||||||||
Scene node. | |||||||||||||
QueuedSubMeshList | mQueuedSubMeshes | ||||||||||||
Local list of queued meshes (not used for deallocation). | |||||||||||||
uint32 | mRegionID | ||||||||||||
Unique identifier for the region. | |||||||||||||
Vector3 | mCentre | ||||||||||||
Center of the region. | |||||||||||||
std::vector< Real > | mLodSquaredDistances | ||||||||||||
LOD distances (squared) as built up - use the max at each level. | |||||||||||||
AxisAlignedBox | mAABB | ||||||||||||
Local AABB relative to region centre. | |||||||||||||
Real | mBoundingRadius | ||||||||||||
Local bounding radius. | |||||||||||||
ushort | mCurrentLod | ||||||||||||
The current lod level, as determined from the last camera. | |||||||||||||
Real | mCamDistanceSquared | ||||||||||||
Current camera distance, passed on to do material lod later. | |||||||||||||
LODBucketList | mLodBucketList | ||||||||||||
List of LOD buckets. | |||||||||||||
LightList | mLightList | ||||||||||||
List of lights for this region. | |||||||||||||
ulong | mLightListUpdated | ||||||||||||
The last frame that this light list was updated in. | |||||||||||||
bool | mBeyondFarDistance | ||||||||||||
Hidden because of distance? | |||||||||||||
EdgeData * | mEdgeList | ||||||||||||
Edge list, used if stencil shadow casting is enabled. | |||||||||||||
ShadowRenderableList | mShadowRenderables | ||||||||||||
List of shadow renderables. | |||||||||||||
bool | mVertexProgramInUse | ||||||||||||
Is a vertex program in use somewhere in this region? | |||||||||||||
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 342 of file OgreStaticGeometry.h.
|
list of LOD Buckets in this region
Definition at line 346 of file OgreStaticGeometry.h. |
|
Definition at line 436 of file OgreStaticGeometry.h. |
|
Definition at line 121 of file OgreShadowCaster.h. |
|
Definition at line 122 of file OgreShadowCaster.h. |
|
|
|
|
|
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.
Implements Ogre::MovableObject. |
|
Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
Implements Ogre::MovableObject. |
|
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. |
|
Assign a queued mesh to this region, read for final build.
|
|
Build this region.
|
|
Dump contents for diagnostics.
|
|
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.
Implements Ogre::MovableObject. |
|
Retrieves the radius of the origin-centered bounding sphere for this object.
Implements Ogre::MovableObject. |
|
Returns whether shadow casting is enabled for this object.
Implements Ogre::ShadowCaster. Definition at line 238 of file OgreMovableObject.h. |
|
Get the centre point of the region.
Definition at line 427 of file OgreStaticGeometry.h. |
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. |
|
Overridden from MovableObject.
Reimplemented from Ogre::MovableObject. |
|
Helper moethod for calculating extrusion distance.
|
|
Get the region ID of this region.
Definition at line 425 of file OgreStaticGeometry.h. References Ogre::uint32. |
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. |
|
Shared set of lights for all GeometryBuckets.
|
|
Get an iterator over the LODs in this region.
|
|
Returns the type name of this object.
Implements Ogre::MovableObject. |
|
Returns the name of this object.
Implements Ogre::MovableObject. |
|
Definition at line 419 of file OgreStaticGeometry.h. |
|
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.
|
|
Reimplemented from Ogre::MovableObject. |
|
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 from Ogre::MovableObject. |
|
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.
|
|
Local AABB relative to region centre.
Definition at line 390 of file OgreStaticGeometry.h. |
|
Hidden because of distance?
Definition at line 404 of file OgreStaticGeometry.h. |
|
Local bounding radius.
Definition at line 392 of file OgreStaticGeometry.h. |
|
Current camera distance, passed on to do material lod later.
Definition at line 396 of file OgreStaticGeometry.h. |
|
Does this object cast shadows?
Definition at line 67 of file OgreMovableObject.h. |
|
Center of the region.
Definition at line 386 of file OgreStaticGeometry.h. |
|
The current lod level, as determined from the last camera.
Definition at line 394 of file OgreStaticGeometry.h. |
|
Edge list, used if stencil shadow casting is enabled.
Definition at line 406 of file OgreStaticGeometry.h. |
|
List of lights for this region.
Definition at line 400 of file OgreStaticGeometry.h. |
|
The last frame that this light list was updated in.
Definition at line 402 of file OgreStaticGeometry.h. |
|
List of LOD buckets.
Definition at line 398 of file OgreStaticGeometry.h. |
|
LOD distances (squared) as built up - use the max at each level.
Definition at line 388 of file OgreStaticGeometry.h. |
|
Generated name.
Definition at line 376 of file OgreStaticGeometry.h. |
|
Scene node.
Definition at line 380 of file OgreStaticGeometry.h. |
|
Parent static geometry.
Definition at line 374 of file OgreStaticGeometry.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. |
|
Local list of queued meshes (not used for deallocation).
Definition at line 382 of file OgreStaticGeometry.h. |
|
Unique identifier for the region.
Definition at line 384 of file OgreStaticGeometry.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. |
|
Scene manager link.
Definition at line 378 of file OgreStaticGeometry.h. |
|
List of shadow renderables.
Definition at line 408 of file OgreStaticGeometry.h. |
|
User defined object which is linked to this object.
Definition at line 53 of file OgreMovableObject.h. |
|
Is a vertex program in use somewhere in this region?
Definition at line 410 of file OgreStaticGeometry.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:04:05 2006