# Ogre::InstancedGeometry::MaterialBucket Class Reference

A MaterialBucket is a collection of smaller buckets with the same Material (and implicitly the same LOD). More...

`#include <OgreInstancedGeometry.h>`

Inheritance diagram for Ogre::InstancedGeometry::MaterialBucket:

[legend]

List of all members.

## Public Types

typedef std::vector < GeometryBucket * > | GeometryBucketList
| list of Geometry Buckets in this BatchInstance
typedef VectorIterator < GeometryBucketList > | GeometryIterator
| Iterator over geometry.

## Public Member Functions

| MaterialBucket (LODBucket *parent, const String &materialName)
virtual | ~MaterialBucket ()
LODBucket * | getParent (void)
const String & | getMaterialName (void) const
| Get the material name.
void | assign (QueuedGeometry *qsm)
| Assign geometry to this bucket.
void | build ()
| Build.
void | addRenderables (RenderQueue *queue, uint8 group, Real camSquaredDist)
| Add children to the render queue.
const MaterialPtr & | getMaterial (void) const
| Get the material for this bucket.
GeometryIterator | getGeometryIterator (void)
| Get an iterator over the contained geometry.
Technique * | getCurrentTechnique (void) const
| Get the current Technique.
void | dump (std::ofstream &of) const
| Dump contents for diagnostics.
MaterialBucket::CurrentGeometryMap * | getMaterialBucketMap (void) const
| Return the geometry map.
MaterialBucket::GeometryBucketList * | getGeometryBucketList (void) const
| Return the geometry list.
void | updateContainers (GeometryBucket *bucket, const String &format)
| fill in the map and the list
void | setLastIndex (int index)
int | getLastIndex ()
void | setMaterial (const String &name)
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 Types

typedef std::map< String, GeometryBucket * > | CurrentGeometryMap

## Protected Member Functions

String | getGeometryFormatString (SubMeshLodGeometryLink *geom)
| Get a packed string identifying the geometry format.

## Protected Attributes

LODBucket * | mParent
| Pointer to parent LODBucket.
String | mMaterialName
| Material being used.
MaterialPtr | mMaterial
| Pointer to material being used.
Technique * | mTechnique
| Active technique.
int | mLastIndex
GeometryBucketList | mGeometryBucketList
| list of Geometry Buckets in this BatchInstance
CurrentGeometryMap | mCurrentGeometryMap

## Detailed Description

A MaterialBucket is a collection of smaller buckets with the same Material (and implicitly the same LOD).

Definition at line 307 of file OgreInstancedGeometry.h.

## Member Typedef Documentation

typedef std::vector<GeometryBucket*> Ogre::InstancedGeometry::MaterialBucket::GeometryBucketList

list of Geometry Buckets in this BatchInstance

Definition at line 311 of file OgreInstancedGeometry.h.

typedef std::map<String, GeometryBucket*> Ogre::InstancedGeometry::MaterialBucket::CurrentGeometryMap `[protected]`

Definition at line 325 of file OgreInstancedGeometry.h.

typedef VectorIterator<GeometryBucketList> Ogre::InstancedGeometry::MaterialBucket::GeometryIterator

Iterator over geometry.

Definition at line 346 of file OgreInstancedGeometry.h.

## Constructor & Destructor Documentation

Ogre::InstancedGeometry::MaterialBucket::MaterialBucket | ( | LODBucket * | parent,
|  | const String & | materialName |
| ) |  |  |

virtual Ogre::InstancedGeometry::MaterialBucket::~MaterialBucket | ( |  | ) | `[virtual]`

## Member Function Documentation

String Ogre::InstancedGeometry::MaterialBucket::getGeometryFormatString | ( | SubMeshLodGeometryLink * | geom | ) | `[protected]`

Get a packed string identifying the geometry format.

LODBucket* Ogre::InstancedGeometry::MaterialBucket::getParent | ( | void |  | ) |

Definition at line 333 of file OgreInstancedGeometry.h.

const String& Ogre::InstancedGeometry::MaterialBucket::getMaterialName | ( | void |  | ) | const

Get the material name.

Definition at line 335 of file OgreInstancedGeometry.h.

void Ogre::InstancedGeometry::MaterialBucket::assign | ( | QueuedGeometry * | qsm | ) |

Assign geometry to this bucket.

void Ogre::InstancedGeometry::MaterialBucket::build | ( |  | ) |

Build.

void Ogre::InstancedGeometry::MaterialBucket::addRenderables | ( | RenderQueue * | queue,
|  | uint8 | group,
|  | Real | camSquaredDist |
| ) |  |  |

Add children to the render queue.

const MaterialPtr& Ogre::InstancedGeometry::MaterialBucket::getMaterial | ( | void |  | ) | const

Get the material for this bucket.

Definition at line 344 of file OgreInstancedGeometry.h.

GeometryIterator Ogre::InstancedGeometry::MaterialBucket::getGeometryIterator | ( | void |  | ) |

Get an iterator over the contained geometry.

Technique* Ogre::InstancedGeometry::MaterialBucket::getCurrentTechnique | ( | void |  | ) | const

Get the current Technique.

Definition at line 350 of file OgreInstancedGeometry.h.

void Ogre::InstancedGeometry::MaterialBucket::dump | ( | std::ofstream & | of | ) | const

Dump contents for diagnostics.

MaterialBucket::CurrentGeometryMap* Ogre::InstancedGeometry::MaterialBucket::getMaterialBucketMap | ( | void |  | ) | const

Return the geometry map.

MaterialBucket::GeometryBucketList* Ogre::InstancedGeometry::MaterialBucket::getGeometryBucketList | ( | void |  | ) | const

Return the geometry list.

void Ogre::InstancedGeometry::MaterialBucket::updateContainers | ( | GeometryBucket * | bucket,
|  | const String & | format |
| ) |  |  |

fill in the map and the list

void Ogre::InstancedGeometry::MaterialBucket::setLastIndex | ( | int | index | ) |

Definition at line 359 of file OgreInstancedGeometry.h.

int Ogre::InstancedGeometry::MaterialBucket::getLastIndex | ( |  | ) |

Definition at line 360 of file OgreInstancedGeometry.h.

void Ogre::InstancedGeometry::MaterialBucket::setMaterial | ( | const String & | name | ) |

void Ogre::InstancedGeometry::MaterialBucket::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

LODBucket* Ogre::InstancedGeometry::MaterialBucket::mParent `[protected]`

Pointer to parent LODBucket.

Definition at line 314 of file OgreInstancedGeometry.h.

String Ogre::InstancedGeometry::MaterialBucket::mMaterialName `[protected]`

Material being used.

Definition at line 316 of file OgreInstancedGeometry.h.

MaterialPtr Ogre::InstancedGeometry::MaterialBucket::mMaterial `[protected]`

Pointer to material being used.

Definition at line 318 of file OgreInstancedGeometry.h.

Technique* Ogre::InstancedGeometry::MaterialBucket::mTechnique `[protected]`

Active technique.

Definition at line 320 of file OgreInstancedGeometry.h.

int Ogre::InstancedGeometry::MaterialBucket::mLastIndex `[protected]`

Definition at line 321 of file OgreInstancedGeometry.h.

GeometryBucketList Ogre::InstancedGeometry::MaterialBucket::mGeometryBucketList `[protected]`

list of Geometry Buckets in this BatchInstance

Definition at line 323 of file OgreInstancedGeometry.h.

CurrentGeometryMap Ogre::InstancedGeometry::MaterialBucket::mCurrentGeometryMap `[protected]`

Definition at line 326 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 Dec 27 17:32:32 2009