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]

## Classes

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

## 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, 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 (bool stencilShadows)
| Build. More...
void | dump (std::ofstream &of) const
| Dump contents for diagnostics. More...
EdgeData * | getEdgeList () 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...
Region * | getParent (void)
ShadowCaster::ShadowRenderableList & | getShadowRenderableList ()
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 | updateShadowRenderables (ShadowTechnique shadowTechnique, const Vector4 &lightPos, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDistance, unsigned long flags=0)
void | visitRenderables (Renderable::Visitor *visitor, bool debugRenderables)

## Protected Attributes

EdgeData * | mEdgeList
| 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...
Region * | mParent
| Pointer to parent region. More...
QueuedGeometryList | mQueuedGeometryList
| Geometry queued for a single LOD (deallocated here) More...
ShadowCaster::ShadowRenderableList | mShadowRenderables
| List of shadow renderables. 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 308 of file OgreStaticGeometry.h.

## Member Typedef Documentation

## MaterialBucketMap

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

Lookup of Material Buckets in this region.

Definition at line 312 of file OgreStaticGeometry.h.

## MaterialIterator

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

Iterator over the materials in this LOD.

Definition at line 369 of file OgreStaticGeometry.h.

## Constructor & Destructor Documentation

## LODBucket()

Ogre::StaticGeometry::LODBucket::LODBucket | ( | Region * | parent,
|  | unsigned short | lod,
|  | Real | lodValue
| ) |  |

## ~LODBucket()

virtual Ogre::StaticGeometry::LODBucket::~LODBucket | ( |  | ) |

virtual

## Member Function Documentation

## addRenderables()

void Ogre::StaticGeometry::LODBucket::addRenderables | ( | RenderQueue * | queue,
|  | uint8 | group,
|  | Real | lodValue
| ) |  |

Add children to the render queue.

## assign()

void Ogre::StaticGeometry::LODBucket::assign | ( | QueuedSubMesh * | qsm,
|  | ushort | atLod
| ) |  |

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

## build()

void Ogre::StaticGeometry::LODBucket::build | ( | bool | stencilShadows | ) |

Build.

## dump()

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

Dump contents for diagnostics.

## getEdgeList()

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

Definition at line 375 of file OgreStaticGeometry.h.

## getLod()

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

Get the LOD index.

Definition at line 358 of file OgreStaticGeometry.h.

## getLodValue()

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

Get the LOD value.

Definition at line 360 of file OgreStaticGeometry.h.

## getMaterialIterator()

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

Get an iterator over the materials in this LOD.

## getParent()

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

Definition at line 356 of file OgreStaticGeometry.h.

## getShadowRenderableList()

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

Definition at line 376 of file OgreStaticGeometry.h.

## isVertexProgramInUse()

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

Definition at line 377 of file OgreStaticGeometry.h.

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

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

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [1/2]

template<class Alloc >

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

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

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 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

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

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

## operator new[]() [1/2]

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 86 of file OgreMemoryAllocatedObject.h.

## operator new[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

## updateShadowRenderables()

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

## visitRenderables()

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

## Member Data Documentation

## mEdgeList

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

protected

Edge list, used if stencil shadow casting is enabled.

Definition at line 348 of file OgreStaticGeometry.h.

## mLod

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

protected

LOD level (0 == full LOD)

Definition at line 340 of file OgreStaticGeometry.h.

## mLodValue

Real Ogre::StaticGeometry::LODBucket::mLodValue

protected

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

Definition at line 342 of file OgreStaticGeometry.h.

## mMaterialBucketMap

MaterialBucketMap Ogre::StaticGeometry::LODBucket::mMaterialBucketMap

protected

Lookup of Material Buckets in this region.

Definition at line 344 of file OgreStaticGeometry.h.

## mParent

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

protected

Pointer to parent region.

Definition at line 338 of file OgreStaticGeometry.h.

## mQueuedGeometryList

QueuedGeometryList Ogre::StaticGeometry::LODBucket::mQueuedGeometryList

protected

Geometry queued for a single LOD (deallocated here)

Definition at line 346 of file OgreStaticGeometry.h.

## mShadowRenderables

ShadowCaster::ShadowRenderableList Ogre::StaticGeometry::LODBucket::mShadowRenderables

protected

List of shadow renderables.

Definition at line 352 of file OgreStaticGeometry.h.

## mVertexProgramInUse

bool Ogre::StaticGeometry::LODBucket::mVertexProgramInUse

protected

Is a vertex program in use somewhere in this group?

Definition at line 350 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.