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

Lookup of Material Buckets in this region.

Definition at line 304 of file OgreStaticGeometry.h.

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

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.

distance at which this LOD starts to apply (squared)

Definition at line 332 of file OgreStaticGeometry.h.

Lookup of Material Buckets in this region.

Definition at line 334 of file OgreStaticGeometry.h.

Geometry queued for a single LOD (deallocated here).

Definition at line 336 of file OgreStaticGeometry.h.

Edge list, used if stencil shadow casting is enabled.

Definition at line 338 of file OgreStaticGeometry.h.

Is a vertex program in use somewhere in this group?

Definition at line 340 of file OgreStaticGeometry.h.

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 Sun Sep 27 22:07:30 2009