Ogre::InstancedGeometry::LODBucket Class Reference

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

#include <OgreInstancedGeometry.h>

Inheritance diagram for Ogre::InstancedGeometry::LODBucket:

Inheritance graph
[legend]

List of all members.

Public Types

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

Public Member Functions

 LODBucket (BatchInstance *parent, unsigned short lod, Real lodDist)
virtual ~LODBucket ()
BatchInstancegetParent (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 ()
 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 updateContainers (MaterialBucket *bucket, String &name)
 fill the map
void visitRenderables (Renderable::Visitor *visitor, bool debugRenderables)
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

BatchInstancemParent
 Pointer to parent BatchInstance.
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 BatchInstance.
QueuedGeometryList mQueuedGeometryList
 Geometry queued for a single LOD (deallocated here).


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 369 of file OgreInstancedGeometry.h.


Member Typedef Documentation

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

Lookup of Material Buckets in this BatchInstance.

Definition at line 373 of file OgreInstancedGeometry.h.

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

Iterator over the materials in this LOD.

Definition at line 401 of file OgreInstancedGeometry.h.


Constructor & Destructor Documentation

Ogre::InstancedGeometry::LODBucket::LODBucket ( BatchInstance parent,
unsigned short  lod,
Real  lodDist 
)

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


Member Function Documentation

BatchInstance* Ogre::InstancedGeometry::LODBucket::getParent ( void   ) 

Definition at line 388 of file OgreInstancedGeometry.h.

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

Get the lod index.

Definition at line 390 of file OgreInstancedGeometry.h.

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

Get the lod squared distance.

Definition at line 392 of file OgreInstancedGeometry.h.

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

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

void Ogre::InstancedGeometry::LODBucket::build (  ) 

Build.

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

Add children to the render queue.

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

Get an iterator over the materials in this LOD.

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

Dump contents for diagnostics.

void Ogre::InstancedGeometry::LODBucket::updateContainers ( MaterialBucket bucket,
String name 
)

fill the map

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

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

BatchInstance* Ogre::InstancedGeometry::LODBucket::mParent [protected]

Pointer to parent BatchInstance.

Definition at line 376 of file OgreInstancedGeometry.h.

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

LOD level (0 == full LOD).

Definition at line 378 of file OgreInstancedGeometry.h.

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

distance at which this LOD starts to apply (squared)

Definition at line 380 of file OgreInstancedGeometry.h.

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

Lookup of Material Buckets in this BatchInstance.

Definition at line 382 of file OgreInstancedGeometry.h.

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

Geometry queued for a single LOD (deallocated here).

Definition at line 384 of file OgreInstancedGeometry.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 Thu Jan 22 21:26:29 2009