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:
[legend]

List of all members.

## Classes

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

## Public Types

typedef map< String, MaterialBucket * >::type | 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 lodValue)
virtual | ~LODBucket ()
Region * | getParent (void)
ushort | getLod (void) const
| Get the lod index.
Real | getLodValue (void) const
| Get the lod value.
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 lodValue)
| 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)
EdgeData * | getEdgeList () const
ShadowCaster::ShadowRenderableList & | getShadowRenderableList ()
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

Region * | mParent
| Pointer to parent region.
unsigned short | mLod
| LOD level (0 == full LOD)
Real | mLodValue
| lod value 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)
EdgeData * | mEdgeList
| 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.

## 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

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

Lookup of Material Buckets in this region.

Definition at line 311 of file OgreStaticGeometry.h.

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

Iterator over the materials in this LOD.

Definition at line 368 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,
|  | Real | lodValue
| ) |  |

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

Build.

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

Dump contents for diagnostics.

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

Definition at line 374 of file OgreStaticGeometry.h.

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

Get the lod index.

Definition at line 357 of file OgreStaticGeometry.h.

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

Get the lod value.

Definition at line 359 of file OgreStaticGeometry.h.

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

Get an iterator over the materials in this LOD.

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

Definition at line 355 of file OgreStaticGeometry.h.

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

Definition at line 375 of file OgreStaticGeometry.h.

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

Definition at line 376 of file OgreStaticGeometry.h.

template<class Alloc >

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

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

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
| ) |  | `[inherited]`

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 | ) | `[inherited]`

Definition at line 72 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 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
| ) |  | `[inherited]`

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 | ) | `[inherited]`

Definition at line 90 of file OgreMemoryAllocatedObject.h.

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

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 347 of file OgreStaticGeometry.h.

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

LOD level (0 == full LOD)

Definition at line 339 of file OgreStaticGeometry.h.

Real Ogre::StaticGeometry::LODBucket::mLodValue`[protected]`

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

Definition at line 341 of file OgreStaticGeometry.h.

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

Lookup of Material Buckets in this region.

Definition at line 343 of file OgreStaticGeometry.h.

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

Pointer to parent region.

Definition at line 337 of file OgreStaticGeometry.h.

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

Geometry queued for a single LOD (deallocated here)

Definition at line 345 of file OgreStaticGeometry.h.

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

List of shadow renderables.

Definition at line 351 of file OgreStaticGeometry.h.

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

Is a vertex program in use somewhere in this group?

Definition at line 349 of file OgreStaticGeometry.h.

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

- OgreStaticGeometry.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun Sep 2 2012 07:27:40