OGRE: Ogre::InstancedGeometry::LODBucket Class Reference - OGRE Documentation

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

[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 ()
BatchInstance * | getParent (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
BatchInstance * | mParent
| 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:

- OgreInstancedGeometry.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Jul 26 11:33:43 2009