OGRE  1.7
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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:
+ Collaboration diagram for Ogre::InstancedGeometry::LODBucket:

Public Types

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

Public Member Functions

 LODBucket (BatchInstance *parent, unsigned short lod, Real lodValue)
 
virtual ~LODBucket ()
 
void addRenderables (RenderQueue *queue, uint8 group, Real lodValue)
 Add children to the render queue. More...
 
void assign (QueuedSubMesh *qsm, ushort atLod)
 Assign a queued submesh to this bucket, using specified mesh LOD. More...
 
void build ()
 Build. More...
 
void dump (std::ofstream &of) const
 Dump contents for diagnostics. More...
 
ushort getLod (void) const
 Get the lod index. More...
 
Real getLodValue (void) const
 Get the lod value. More...
 
MaterialIterator getMaterialIterator (void)
 Get an iterator over the materials in this LOD. More...
 
BatchInstancegetParent (void)
 
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 *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
void updateContainers (MaterialBucket *bucket, String &name)
 fill the map More...
 
void visitRenderables (Renderable::Visitor *visitor, bool debugRenderables)
 

Protected Attributes

unsigned short mLod
 LOD level (0 == full LOD) More...
 
Real mLodValue
 lod value at which this LOD starts to apply (squared) More...
 
MaterialBucketMap mMaterialBucketMap
 Lookup of Material Buckets in this BatchInstance. More...
 
BatchInstancemParent
 Pointer to parent BatchInstance. More...
 
QueuedGeometryList mQueuedGeometryList
 Geometry queued for a single LOD (deallocated here) 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 376 of file OgreInstancedGeometry.h.

Member Typedef Documentation

Iterator over the materials in this LOD.

Definition at line 408 of file OgreInstancedGeometry.h.

Constructor & Destructor Documentation

Ogre::InstancedGeometry::LODBucket::LODBucket ( BatchInstance parent,
unsigned short  lod,
Real  lodValue 
)
virtual Ogre::InstancedGeometry::LODBucket::~LODBucket ( )
virtual

Member Function Documentation

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

Add children to the render queue.

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::dump ( std::ofstream &  of) const

Dump contents for diagnostics.

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

Get the lod index.

Definition at line 397 of file OgreInstancedGeometry.h.

Real Ogre::InstancedGeometry::LODBucket::getLodValue ( void  ) const
inline

Get the lod value.

Definition at line 399 of file OgreInstancedGeometry.h.

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

Get an iterator over the materials in this LOD.

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

Definition at line 395 of file OgreInstancedGeometry.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 95 of file OgreMemoryAllocatedObject.h.

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

Definition at line 101 of file OgreMemoryAllocatedObject.h.

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

Definition at line 107 of file OgreMemoryAllocatedObject.h.

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.

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

Definition at line 118 of file OgreMemoryAllocatedObject.h.

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

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

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

Definition at line 72 of file OgreMemoryAllocatedObject.h.

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

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

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

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

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

Definition at line 90 of file OgreMemoryAllocatedObject.h.

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

fill the map

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

Member Data Documentation

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

LOD level (0 == full LOD)

Definition at line 385 of file OgreInstancedGeometry.h.

Real Ogre::InstancedGeometry::LODBucket::mLodValue
protected

lod value at which this LOD starts to apply (squared)

Definition at line 387 of file OgreInstancedGeometry.h.

MaterialBucketMap Ogre::InstancedGeometry::LODBucket::mMaterialBucketMap
protected

Lookup of Material Buckets in this BatchInstance.

Definition at line 389 of file OgreInstancedGeometry.h.

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

Pointer to parent BatchInstance.

Definition at line 383 of file OgreInstancedGeometry.h.

QueuedGeometryList Ogre::InstancedGeometry::LODBucket::mQueuedGeometryList
protected

Geometry queued for a single LOD (deallocated here)

Definition at line 391 of file OgreInstancedGeometry.h.


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