#include <OgreStaticGeometry.h>
Public Types | |
| typedef std::list< OptimisedSubMeshGeometry * > | OptimisedSubMeshGeometryList |
| typedef std::vector< SubMeshLodGeometryLink > | SubMeshLodGeometryLinkList |
| typedef std::map< SubMesh *, SubMeshLodGeometryLinkList * > | SubMeshGeometryLookup |
| typedef std::vector< QueuedSubMesh * > | QueuedSubMeshList |
| typedef std::vector< QueuedGeometry * > | QueuedGeometryList |
| typedef std::map< uint32, Region * > | RegionMap |
| Indexed region map based on packed x/y/z region index, 10 bits for each axis. | |
| typedef MapIterator< RegionMap > | RegionIterator |
| Iterator for iterating over contained regions. | |
Public Member Functions | |
| StaticGeometry (SceneManager *owner, const String &name) | |
| Constructor; do not use directly ( SceneManager::createStaticGeometry). | |
| virtual | ~StaticGeometry () |
| Destructor. | |
| const String & | getName (void) const |
| Get the name of this object. | |
| virtual void | addEntity (Entity *ent, const Vector3 &position, const Quaternion &orientation=Quaternion::IDENTITY, const Vector3 &scale=Vector3::UNIT_SCALE) |
| Adds an Entity to the static geometry. | |
| virtual void | addSceneNode (const SceneNode *node) |
| Adds all the Entity objects attached to a SceneNode and all it's children to the static geometry. | |
| virtual void | build (void) |
| Build the geometry. | |
| virtual void | destroy (void) |
| Destroys all the built geometry state (reverse of build). | |
| virtual void | reset (void) |
| Clears any of the entities / nodes added to this geometry and destroys anything which has already been built. | |
| virtual void | setRenderingDistance (Real dist) |
| Sets the distance at which batches are no longer rendered. | |
| virtual Real | getRenderingDistance (void) const |
| Gets the distance at which batches are no longer rendered. | |
| virtual Real | getSquaredRenderingDistance (void) const |
| Gets the squared distance at which batches are no longer rendered. | |
| virtual void | setVisible (bool visible) |
| Hides or shows all the batches. | |
| virtual bool | isVisible (void) const |
| Are the batches visible? | |
| virtual void | setCastShadows (bool castShadows) |
| Sets whether this geometry should cast shadows. | |
| virtual bool | getCastShadows (void) |
| Will the geometry from this object cast shadows? | |
| virtual void | setRegionDimensions (const Vector3 &size) |
| Sets the size of a single region of geometry. | |
| virtual const Vector3 & | getRegionDimensions (void) const |
| Gets the size of a single batch of geometry. | |
| virtual void | setOrigin (const Vector3 &origin) |
| Sets the origin of the geometry. | |
| virtual const Vector3 & | getOrigin (void) const |
| Gets the origin of this geometry. | |
| virtual void | setRenderQueueGroup (RenderQueueGroupID queueID) |
| Sets the render queue group this object will be rendered through. | |
| virtual RenderQueueGroupID | getRenderQueueGroup (void) const |
| Gets the queue group for this entity, see setRenderQueueGroup for full details. | |
| RegionIterator | getRegionIterator (void) |
| Get an iterator over the regions in this geometry. | |
| virtual void | dump (const String &filename) const |
| Dump the contents of this StaticGeometry to a file for diagnostic purposes. | |
Protected Types | |
| typedef std::map< size_t, size_t > | IndexRemap |
Protected Member Functions | |
| virtual Region * | getRegion (const AxisAlignedBox &bounds, bool autoCreate) |
| Virtual method for getting a region most suitable for the passed in bounds. | |
| virtual Region * | getRegion (const Vector3 &point, bool autoCreate) |
| Get the region within which a point lies. | |
| virtual Region * | getRegion (ushort x, ushort y, ushort z, bool autoCreate) |
| Get the region using indexes. | |
| virtual Region * | getRegion (uint32 index) |
| Get the region using a packed index, returns null if it doesn't exist. | |
| virtual void | getRegionIndexes (const Vector3 &point, ushort &x, ushort &y, ushort &z) |
| Get the region indexes for a point. | |
| virtual uint32 | packIndex (ushort x, ushort y, ushort z) |
| Pack 3 indexes into a single index value. | |
| virtual Real | getVolumeIntersection (const AxisAlignedBox &box, ushort x, ushort y, ushort z) |
| Get the volume intersection for an indexed region with some bounds. | |
| virtual AxisAlignedBox | getRegionBounds (ushort x, ushort y, ushort z) |
| Get the bounds of an indexed region. | |
| virtual Vector3 | getRegionCentre (ushort x, ushort y, ushort z) |
| Get the centre of an indexed region. | |
| virtual AxisAlignedBox | calculateBounds (VertexData *vertexData, const Vector3 &position, const Quaternion &orientation, const Vector3 &scale) |
| Calculate world bounds from a set of vertex data. | |
| SubMeshLodGeometryLinkList * | determineGeometry (SubMesh *sm) |
| Look up or calculate the geometry data to use for this SubMesh. | |
| void | splitGeometry (VertexData *vd, IndexData *id, SubMeshLodGeometryLink *targetGeomLink) |
| Split some shared geometry into dedicated geometry. | |
| template<typename T> void | buildIndexRemap (T *pBuffer, size_t numIndexes, IndexRemap &remap) |
| Method for figuring out which vertices are used by an index buffer and calculating a remap lookup for a vertex buffer just containing those vertices. | |
| template<typename T> void | remapIndexes (T *src, T *dst, const IndexRemap &remap, size_t numIndexes) |
| Method for altering indexes based on a remap. | |
Protected Attributes | |
| SceneManager * | mOwner |
| String | mName |
| bool | mBuilt |
| Real | mUpperDistance |
| Real | mSquaredUpperDistance |
| bool | mCastShadows |
| Vector3 | mRegionDimensions |
| Vector3 | mHalfRegionDimensions |
| Vector3 | mOrigin |
| bool | mVisible |
| RenderQueueGroupID | mRenderQueueID |
| The render queue to use when rendering this object. | |
| bool | mRenderQueueIDSet |
| Flags whether the RenderQueue's default should be used. | |
| QueuedSubMeshList | mQueuedSubMeshes |
| OptimisedSubMeshGeometryList | mOptimisedSubMeshGeometryList |
| List of geometry which has been optimised for SubMesh use This is the primary storage used for cleaning up later. | |
| SubMeshGeometryLookup | mSubMeshGeometryLookup |
| Cached links from SubMeshes to (potentially optimised) geometry This is not used for deletion since the lookup may reference original vertex data. | |
| RegionMap | mRegionMap |
| Map of regions. | |
Definition at line 107 of file OgreStaticGeometry.h.
|
|
Definition at line 531 of file OgreStaticGeometry.h. Referenced by buildIndexRemap(), and remapIndexes(). |
|
|
Definition at line 134 of file OgreStaticGeometry.h. |
|
|
Definition at line 166 of file OgreStaticGeometry.h. |
|
|
Definition at line 157 of file OgreStaticGeometry.h. |
|
|
Iterator for iterating over contained regions.
Definition at line 736 of file OgreStaticGeometry.h. |
|
|
Indexed region map based on packed x/y/z region index, 10 bits for each axis.
Definition at line 461 of file OgreStaticGeometry.h. |
|
|
Definition at line 143 of file OgreStaticGeometry.h. |
|
|
Definition at line 142 of file OgreStaticGeometry.h. |
|
||||||||||||
|
Constructor; do not use directly ( SceneManager::createStaticGeometry).
|
|
|
Destructor.
|
|
||||||||||||||||||||
|
Adds an Entity to the static geometry.
|
|
|
Adds all the Entity objects attached to a SceneNode and all it's children to the static geometry.
|
|
|
Build the geometry.
|
|
||||||||||||||||||||
|
Method for figuring out which vertices are used by an index buffer and calculating a remap lookup for a vertex buffer just containing those vertices.
Definition at line 537 of file OgreStaticGeometry.h. References IndexRemap. |
|
||||||||||||||||||||
|
Calculate world bounds from a set of vertex data.
|
|
|
Destroys all the built geometry state (reverse of build).
|
|
|
Look up or calculate the geometry data to use for this SubMesh.
|
|
|
Dump the contents of this StaticGeometry to a file for diagnostic purposes.
|
|
|
Will the geometry from this object cast shadows?
Definition at line 686 of file OgreStaticGeometry.h. |
|
|
Get the name of this object.
Definition at line 569 of file OgreStaticGeometry.h. References Ogre::String. |
|
|
Gets the origin of this geometry.
Definition at line 717 of file OgreStaticGeometry.h. |
|
|
Get the region using a packed index, returns null if it doesn't exist.
|
|
||||||||||||||||||||
|
Get the region using indexes.
|
|
||||||||||||
|
Get the region within which a point lies.
|
|
||||||||||||
|
Virtual method for getting a region most suitable for the passed in bounds. Can be overridden by subclasses. |
|
||||||||||||||||
|
Get the bounds of an indexed region.
|
|
||||||||||||||||
|
Get the centre of an indexed region.
|
|
|
Gets the size of a single batch of geometry.
Definition at line 703 of file OgreStaticGeometry.h. |
|
||||||||||||||||||||
|
Get the region indexes for a point.
|
|
|
Get an iterator over the regions in this geometry.
|
|
|
Gets the distance at which batches are no longer rendered.
Definition at line 655 of file OgreStaticGeometry.h. References Ogre::Real. |
|
|
Gets the queue group for this entity, see setRenderQueueGroup for full details.
|
|
|
Gets the squared distance at which batches are no longer rendered.
Definition at line 658 of file OgreStaticGeometry.h. References Ogre::Real. |
|
||||||||||||||||||||
|
Get the volume intersection for an indexed region with some bounds.
|
|
|
Are the batches visible?
Definition at line 665 of file OgreStaticGeometry.h. |
|
||||||||||||||||
|
Pack 3 indexes into a single index value.
|
|
||||||||||||||||||||||||
|
Method for altering indexes based on a remap.
Definition at line 550 of file OgreStaticGeometry.h. References IndexRemap. |
|
|
Clears any of the entities / nodes added to this geometry and destroys anything which has already been built.
|
|
|
Sets whether this geometry should cast shadows.
|
|
|
Sets the origin of the geometry.
Definition at line 715 of file OgreStaticGeometry.h. |
|
|
Sets the size of a single region of geometry.
Definition at line 698 of file OgreStaticGeometry.h. |
|
|
Sets the distance at which batches are no longer rendered.
Definition at line 649 of file OgreStaticGeometry.h. References Ogre::Real. |
|
|
Sets the render queue group this object will be rendered through.
|
|
|
Hides or shows all the batches.
|
|
||||||||||||||||
|
Split some shared geometry into dedicated geometry.
|
|
|
Definition at line 466 of file OgreStaticGeometry.h. |
|
|
Definition at line 469 of file OgreStaticGeometry.h. |
|
|
Definition at line 471 of file OgreStaticGeometry.h. |
|
|
Definition at line 465 of file OgreStaticGeometry.h. |
|
|
List of geometry which has been optimised for SubMesh use This is the primary storage used for cleaning up later.
Definition at line 483 of file OgreStaticGeometry.h. |
|
|
Definition at line 472 of file OgreStaticGeometry.h. |
|
|
Definition at line 464 of file OgreStaticGeometry.h. |
|
|
Definition at line 479 of file OgreStaticGeometry.h. |
|
|
Definition at line 470 of file OgreStaticGeometry.h. |
|
|
Map of regions.
Definition at line 492 of file OgreStaticGeometry.h. |
|
|
The render queue to use when rendering this object.
Definition at line 475 of file OgreStaticGeometry.h. |
|
|
Flags whether the RenderQueue's default should be used.
Definition at line 477 of file OgreStaticGeometry.h. |
|
|
Definition at line 468 of file OgreStaticGeometry.h. |
|
|
Cached links from SubMeshes to (potentially optimised) geometry This is not used for deletion since the lookup may reference original vertex data.
Definition at line 489 of file OgreStaticGeometry.h. |
|
|
Definition at line 467 of file OgreStaticGeometry.h. |
|
|
Definition at line 473 of file OgreStaticGeometry.h. |
Copyright © 2000-2005 by The OGRE Team
Last modified Sun Nov 20 12:40:16 2005