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

Public Types

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

Public Member Functions

 LODBucket (Region *parent, unsigned short lod, Real lodValue)
 
virtual ~LODBucket ()
 
void addRenderables (RenderQueue *queue, uint8 group, const FastArray< unsigned char > &currentMatLod)
 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...
 
EdgeDatagetEdgeList () const
 
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...
 
size_t getNumMaterials (void) const
 
RegiongetParent (void)
 
bool isVertexProgramInUse () const
 
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 visitRenderables (Renderable::Visitor *visitor, bool debugRenderables)
 

Protected Attributes

EdgeDatamEdgeList
 Edge list, used if stencil shadow casting is enabled. More...
 
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 region. More...
 
RegionmParent
 Pointer to parent region. More...
 
QueuedGeometryList mQueuedGeometryList
 Geometry queued for a single LOD (deallocated here) More...
 
bool mVertexProgramInUse
 Is a vertex program in use somewhere in this group? 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 307 of file OgreStaticGeometry.h.

Member Typedef Documentation

Lookup of Material Buckets in this region.

Definition at line 311 of file OgreStaticGeometry.h.

Iterator over the materials in this LOD.

Definition at line 343 of file OgreStaticGeometry.h.

Constructor & Destructor Documentation

Ogre::StaticGeometry::LODBucket::LODBucket ( Region parent,
unsigned short  lod,
Real  lodValue 
)
virtual Ogre::StaticGeometry::LODBucket::~LODBucket ( )
virtual

Member Function Documentation

void Ogre::StaticGeometry::LODBucket::addRenderables ( RenderQueue queue,
uint8  group,
const FastArray< unsigned char > &  currentMatLod 
)

Add children to the render queue.

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 ( )

Build.

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

Dump contents for diagnostics.

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

Definition at line 350 of file OgreStaticGeometry.h.

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

Get the LOD index.

Definition at line 332 of file OgreStaticGeometry.h.

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

Get the LOD value.

Definition at line 334 of file OgreStaticGeometry.h.

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

Get an iterator over the materials in this LOD.

size_t Ogre::StaticGeometry::LODBucket::getNumMaterials ( void  ) const
inline

Definition at line 346 of file OgreStaticGeometry.h.

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

Definition at line 330 of file OgreStaticGeometry.h.

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

Definition at line 351 of file OgreStaticGeometry.h.

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

Definition at line 96 of file OgreMemoryAllocatedObject.h.

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

Definition at line 102 of file OgreMemoryAllocatedObject.h.

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

Definition at line 119 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 68 of file OgreMemoryAllocatedObject.h.

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

Definition at line 73 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 79 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 86 of file OgreMemoryAllocatedObject.h.

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

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

Member Data Documentation

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

Edge list, used if stencil shadow casting is enabled.

Definition at line 324 of file OgreStaticGeometry.h.

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

LOD level (0 == full LOD)

Definition at line 316 of file OgreStaticGeometry.h.

Real Ogre::StaticGeometry::LODBucket::mLodValue
protected

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

Definition at line 318 of file OgreStaticGeometry.h.

MaterialBucketMap Ogre::StaticGeometry::LODBucket::mMaterialBucketMap
protected

Lookup of Material Buckets in this region.

Definition at line 320 of file OgreStaticGeometry.h.

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

Pointer to parent region.

Definition at line 314 of file OgreStaticGeometry.h.

QueuedGeometryList Ogre::StaticGeometry::LODBucket::mQueuedGeometryList
protected

Geometry queued for a single LOD (deallocated here)

Definition at line 322 of file OgreStaticGeometry.h.

bool Ogre::StaticGeometry::LODBucket::mVertexProgramInUse
protected

Is a vertex program in use somewhere in this group?

Definition at line 326 of file OgreStaticGeometry.h.


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