#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 (uint8 queueID) |
| Sets the render queue group this object will be rendered through. | |
| virtual uint8 | 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 |
| uint8 | 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. | |
Classes | |
| class | GeometryBucket |
| A GeometryBucket is a the lowest level bucket where geometry with the same vertex & index format is stored. More... | |
| class | LODBucket |
| A LODBucket is a collection of smaller buckets with the same LOD. More... | |
| class | MaterialBucket |
| A MaterialBucket is a collection of smaller buckets with the same Material (and implicitly the same LOD). More... | |
| class | OptimisedSubMeshGeometry |
| Struct holding geometry optimised per SubMesh / lod level, ready for copying to instances. More... | |
| struct | QueuedGeometry |
| Structure recording a queued geometry for low level builds. More... | |
| struct | QueuedSubMesh |
| Structure recording a queued submesh for the build. More... | |
| class | Region |
| The details of a topological region which is the highest level of partitioning for this class. More... | |
| struct | SubMeshLodGeometryLink |
| Saved link between SubMesh at a LOD and vertex/index data May point to original or optimised geometry. More... | |
Definition at line 113 of file OgreStaticGeometry.h.
|
|
Definition at line 532 of file OgreStaticGeometry.h. |
|
|
Definition at line 140 of file OgreStaticGeometry.h. |
|
|
Definition at line 172 of file OgreStaticGeometry.h. |
|
|
Definition at line 163 of file OgreStaticGeometry.h. |
|
|
Iterator for iterating over contained regions.
Definition at line 733 of file OgreStaticGeometry.h. |
|
|
Indexed region map based on packed x/y/z region index, 10 bits for each axis.
Definition at line 462 of file OgreStaticGeometry.h. |
|
|
Definition at line 149 of file OgreStaticGeometry.h. |
|
|
Definition at line 148 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 538 of file OgreStaticGeometry.h. |
|
||||||||||||||||||||
|
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 683 of file OgreStaticGeometry.h. |
|
|
Get the name of this object.
Definition at line 570 of file OgreStaticGeometry.h. |
|
|
Gets the origin of this geometry.
Definition at line 714 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 700 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 652 of file OgreStaticGeometry.h. |
|
|
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 655 of file OgreStaticGeometry.h. |
|
||||||||||||||||||||
|
Get the volume intersection for an indexed region with some bounds.
|
|
|
Are the batches visible?
Definition at line 662 of file OgreStaticGeometry.h. |
|
||||||||||||||||
|
Pack 3 indexes into a single index value.
|
|
||||||||||||||||||||||||
|
Method for altering indexes based on a remap.
Definition at line 551 of file OgreStaticGeometry.h. |
|
|
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 712 of file OgreStaticGeometry.h. |
|
|
Sets the size of a single region of geometry.
Definition at line 695 of file OgreStaticGeometry.h. |
|
|
Sets the distance at which batches are no longer rendered.
Definition at line 646 of file OgreStaticGeometry.h. |
|
|
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 467 of file OgreStaticGeometry.h. |
|
|
Definition at line 470 of file OgreStaticGeometry.h. |
|
|
Definition at line 472 of file OgreStaticGeometry.h. |
|
|
Definition at line 466 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 484 of file OgreStaticGeometry.h. |
|
|
Definition at line 473 of file OgreStaticGeometry.h. |
|
|
Definition at line 465 of file OgreStaticGeometry.h. |
|
|
Definition at line 480 of file OgreStaticGeometry.h. |
|
|
Definition at line 471 of file OgreStaticGeometry.h. |
|
|
Map of regions.
Definition at line 493 of file OgreStaticGeometry.h. |
|
|
The render queue to use when rendering this object.
Definition at line 476 of file OgreStaticGeometry.h. |
|
|
Flags whether the RenderQueue's default should be used.
Definition at line 478 of file OgreStaticGeometry.h. |
|
|
Definition at line 469 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 490 of file OgreStaticGeometry.h. |
|
|
Definition at line 468 of file OgreStaticGeometry.h. |
|
|
Definition at line 474 of file OgreStaticGeometry.h. |
Copyright © 2000-2005 by The OGRE Team

This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 30 10:53:31 2007