Ogre::StaticGeometry::LODBucket Class Reference

A LODBucket is a collection of smaller buckets with the same LOD. More...

#include <OgreStaticGeometry.h>

Inheritance diagram for Ogre::StaticGeometry::LODBucket:

Inheritance graph
[legend]

List of all members.

Public Types

typedef std::map
< String,
MaterialBucket * > 
MaterialBucketMap
 Lookup of Material Buckets in this region.
typedef MapIterator
< MaterialBucketMap
MaterialIterator
 Iterator over the materials in this LOD.

Public Member Functions

 LODBucket (Region *parent, unsigned short lod, Real lodDist)
virtual ~LODBucket ()
RegiongetParent (void)
ushort getLod (void) const
 Get the lod index.
Real getSquaredDistance (void) const
 Get the lod squared distance.
void assign (QueuedSubMesh *qsm, ushort atLod)
 Assign a queued submesh to this bucket, using specified mesh LOD.
void build (bool stencilShadows)
 Build.
void addRenderables (RenderQueue *queue, uint8 group, Real camSquaredDistance)
 Add children to the render queue.
MaterialIterator getMaterialIterator (void)
 Get an iterator over the materials in this LOD.
void dump (std::ofstream &of) const
 Dump contents for diagnostics.
void visitRenderables (Renderable::Visitor *visitor, bool debugRenderables)
EdgeDatagetEdgeList () const
ShadowCaster::ShadowRenderableListgetShadowRenderableList ()
bool isVertexProgramInUse () const
void updateShadowRenderables (ShadowTechnique shadowTechnique, const Vector4 &lightPos, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDistance, unsigned long flags=0)
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete (void *ptr, const char *, int, const char *)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, const char *, int, const char *)

Protected Attributes

RegionmParent
 Pointer to parent region.
unsigned short mLod
 LOD level (0 == full LOD).
Real mSquaredDistance
 distance at which this LOD starts to apply (squared)
MaterialBucketMap mMaterialBucketMap
 Lookup of Material Buckets in this region.
QueuedGeometryList mQueuedGeometryList
 Geometry queued for a single LOD (deallocated here).
EdgeDatamEdgeList
 Edge list, used if stencil shadow casting is enabled.
bool mVertexProgramInUse
 Is a vertex program in use somewhere in this group?
ShadowCaster::ShadowRenderableList mShadowRenderables
 List of shadow renderables.

Classes

class  LODShadowRenderable
 Nested class to allow shadows. More...


Detailed Description

A LODBucket is a collection of smaller buckets with the same LOD.

Remarks:
LOD refers to Mesh LOD here. Material LOD can change separately at the next bucket down from this.

Definition at line 300 of file OgreStaticGeometry.h.


Member Typedef Documentation

typedef std::map<String, MaterialBucket*> Ogre::StaticGeometry::LODBucket::MaterialBucketMap

Lookup of Material Buckets in this region.

Definition at line 304 of file OgreStaticGeometry.h.

typedef MapIterator<MaterialBucketMap> Ogre::StaticGeometry::LODBucket::MaterialIterator

Iterator over the materials in this LOD.

Definition at line 359 of file OgreStaticGeometry.h.


Constructor & Destructor Documentation

Ogre::StaticGeometry::LODBucket::LODBucket ( Region parent,
unsigned short  lod,
Real  lodDist 
)

virtual Ogre::StaticGeometry::LODBucket::~LODBucket (  )  [virtual]


Member Function Documentation

Region* Ogre::StaticGeometry::LODBucket::getParent ( void   ) 

Definition at line 346 of file OgreStaticGeometry.h.

ushort Ogre::StaticGeometry::LODBucket::getLod ( void   )  const

Get the lod index.

Definition at line 348 of file OgreStaticGeometry.h.

Real Ogre::StaticGeometry::LODBucket::getSquaredDistance ( void   )  const

Get the lod squared distance.

Definition at line 350 of file OgreStaticGeometry.h.

void Ogre::StaticGeometry::LODBucket::assign ( QueuedSubMesh qsm,
ushort  atLod 
)

Assign a queued submesh to this bucket, using specified mesh LOD.

void Ogre::StaticGeometry::LODBucket::build ( bool  stencilShadows  ) 

Build.

void Ogre::StaticGeometry::LODBucket::addRenderables ( RenderQueue queue,
uint8  group,
Real  camSquaredDistance 
)

Add children to the render queue.

MaterialIterator Ogre::StaticGeometry::LODBucket::getMaterialIterator ( void   ) 

Get an iterator over the materials in this LOD.

void Ogre::StaticGeometry::LODBucket::dump ( std::ofstream &  of  )  const

Dump contents for diagnostics.

void Ogre::StaticGeometry::LODBucket::visitRenderables ( Renderable::Visitor visitor,
bool  debugRenderables 
)

EdgeData* Ogre::StaticGeometry::LODBucket::getEdgeList (  )  const

Definition at line 365 of file OgreStaticGeometry.h.

ShadowCaster::ShadowRenderableList& Ogre::StaticGeometry::LODBucket::getShadowRenderableList (  ) 

Definition at line 366 of file OgreStaticGeometry.h.

bool Ogre::StaticGeometry::LODBucket::isVertexProgramInUse (  )  const

Definition at line 367 of file OgreStaticGeometry.h.

void Ogre::StaticGeometry::LODBucket::updateShadowRenderables ( ShadowTechnique  shadowTechnique,
const Vector4 lightPos,
HardwareIndexBufferSharedPtr indexBuffer,
bool  extrudeVertices,
Real  extrusionDistance,
unsigned long  flags = 0 
)

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

operator new, with debug line info

Definition at line 62 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz  )  [inherited]

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
) [inherited]

placement operator new

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

array operator new, with debug line info

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz  )  [inherited]

Definition at line 84 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr  )  [inherited]

Definition at line 89 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
) [inherited]

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr  )  [inherited]

Definition at line 106 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 112 of file OgreMemoryAllocatedObject.h.


Member Data Documentation

Region* Ogre::StaticGeometry::LODBucket::mParent [protected]

Pointer to parent region.

Definition at line 328 of file OgreStaticGeometry.h.

unsigned short Ogre::StaticGeometry::LODBucket::mLod [protected]

LOD level (0 == full LOD).

Definition at line 330 of file OgreStaticGeometry.h.

Real Ogre::StaticGeometry::LODBucket::mSquaredDistance [protected]

distance at which this LOD starts to apply (squared)

Definition at line 332 of file OgreStaticGeometry.h.

MaterialBucketMap Ogre::StaticGeometry::LODBucket::mMaterialBucketMap [protected]

Lookup of Material Buckets in this region.

Definition at line 334 of file OgreStaticGeometry.h.

QueuedGeometryList Ogre::StaticGeometry::LODBucket::mQueuedGeometryList [protected]

Geometry queued for a single LOD (deallocated here).

Definition at line 336 of file OgreStaticGeometry.h.

EdgeData* Ogre::StaticGeometry::LODBucket::mEdgeList [protected]

Edge list, used if stencil shadow casting is enabled.

Definition at line 338 of file OgreStaticGeometry.h.

bool Ogre::StaticGeometry::LODBucket::mVertexProgramInUse [protected]

Is a vertex program in use somewhere in this group?

Definition at line 340 of file OgreStaticGeometry.h.

ShadowCaster::ShadowRenderableList Ogre::StaticGeometry::LODBucket::mShadowRenderables [protected]

List of shadow renderables.

Definition at line 342 of file OgreStaticGeometry.h.


The documentation for this class was generated from the following file:

Copyright © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 14:34:11 2009