OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::RenderQueueGroup Class Reference

A grouping level underneath RenderQueue which groups renderables to be issued at coarsely the same time to the renderer. More...

#include <OgreRenderQueueSortingGrouping.h>

+ Inheritance diagram for Ogre::RenderQueueGroup:
+ Collaboration diagram for Ogre::RenderQueueGroup:

Public Types

typedef ConstMapIterator
< PriorityMap
ConstPriorityMapIterator
 
typedef map< ushort,
RenderPriorityGroup
*, std::less< ushort > >::type 
PriorityMap
 
typedef MapIterator< PriorityMapPriorityMapIterator
 

Public Member Functions

 RenderQueueGroup (RenderQueue *parent)
 
 ~RenderQueueGroup ()
 
void addOrganisationMode (QueuedRenderableCollection::OrganisationMode om)
 Add a required sorting / grouping mode for the solids in this group. More...
 
void addRenderable (Renderable *pRend, Technique *pTech, ushort priority)
 Add a renderable to this group, with the given priority. More...
 
void clear (bool destroy=false)
 Clears this group of renderables. More...
 
void defaultOrganisationMode (void)
 Setthe sorting / grouping mode for the solids in this group to the default. More...
 
PriorityMapIterator getIterator (void)
 Get an iterator for browsing through child contents. More...
 
ConstPriorityMapIterator getIterator (void) const
 Get a const iterator for browsing through child contents. More...
 
void merge (const RenderQueueGroup *rhs)
 Merge group of renderables. More...
 
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 resetOrganisationModes (void)
 Reset the organisation modes required for the solids in this group. More...
 

Protected Attributes

uint8 mOrganisationMode
 Bitmask of the organisation modes requested (for new priority groups) More...
 
RenderQueuemParent
 
PriorityMap mPriorityGroups
 Map of RenderPriorityGroup objects. More...
 

Detailed Description

A grouping level underneath RenderQueue which groups renderables to be issued at coarsely the same time to the renderer.

Remarks
Each instance of this class itself hold RenderPriorityGroup instances, which are the groupings of renderables by priority for fine control of ordering (not required for most instances).

Definition at line 412 of file OgreRenderQueueSortingGrouping.h.

Member Typedef Documentation

Constructor & Destructor Documentation

Ogre::RenderQueueGroup::RenderQueueGroup ( RenderQueue parent)
inline

Definition at line 427 of file OgreRenderQueueSortingGrouping.h.

Ogre::RenderQueueGroup::~RenderQueueGroup ( )
inline

Definition at line 433 of file OgreRenderQueueSortingGrouping.h.

References OGRE_DELETE.

Member Function Documentation

void Ogre::RenderQueueGroup::addOrganisationMode ( QueuedRenderableCollection::OrganisationMode  om)
inline

Add a required sorting / grouping mode for the solids in this group.

Remarks
You can only do this when the group is empty, ie after clearing the queue.
See also
QueuedRenderableCollection::OrganisationMode

Definition at line 530 of file OgreRenderQueueSortingGrouping.h.

void Ogre::RenderQueueGroup::addRenderable ( Renderable pRend,
Technique pTech,
ushort  priority 
)
inline
void Ogre::RenderQueueGroup::clear ( bool  destroy = false)
inline

Clears this group of renderables.

Parameters
destroyIf false, doesn't delete any priority groups, just empties them. Saves on memory deallocations since the chances are roughly the same kinds of renderables are going to be sent to the queue again next time. If true, completely destroys.

Definition at line 489 of file OgreRenderQueueSortingGrouping.h.

References OGRE_DELETE.

void Ogre::RenderQueueGroup::defaultOrganisationMode ( void  )
inline

Setthe sorting / grouping mode for the solids in this group to the default.

Remarks
You can only do this when the group is empty, ie after clearing the queue.
See also
QueuedRenderableCollection::OrganisationMode

Definition at line 548 of file OgreRenderQueueSortingGrouping.h.

PriorityMapIterator Ogre::RenderQueueGroup::getIterator ( void  )
inline

Get an iterator for browsing through child contents.

Definition at line 443 of file OgreRenderQueueSortingGrouping.h.

Referenced by merge().

ConstPriorityMapIterator Ogre::RenderQueueGroup::getIterator ( void  ) const
inline

Get a const iterator for browsing through child contents.

Definition at line 449 of file OgreRenderQueueSortingGrouping.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::RenderQueueGroup::resetOrganisationModes ( void  )
inline

Reset the organisation modes required for the solids in this group.

Remarks
You can only do this when the group is empty, ie after clearing the queue.
See also
QueuedRenderableCollection::OrganisationMode

Definition at line 512 of file OgreRenderQueueSortingGrouping.h.

Member Data Documentation

uint8 Ogre::RenderQueueGroup::mOrganisationMode
protected

Bitmask of the organisation modes requested (for new priority groups)

Definition at line 423 of file OgreRenderQueueSortingGrouping.h.

RenderQueue* Ogre::RenderQueueGroup::mParent
protected

Definition at line 419 of file OgreRenderQueueSortingGrouping.h.

PriorityMap Ogre::RenderQueueGroup::mPriorityGroups
protected

Map of RenderPriorityGroup objects.

Definition at line 421 of file OgreRenderQueueSortingGrouping.h.


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