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

Injects the output of a request to the mesh in a thread safe way. More...

#include <OgreQueuedProgressiveMeshGenerator.h>

+ Inheritance diagram for Ogre::PMInjector:
+ Collaboration diagram for Ogre::PMInjector:

Public Member Functions

 PMInjector ()
 
virtual ~PMInjector ()
 
virtual bool canHandleResponse (const Response *res, const WorkQueue *srcQ)
 Return whether this handler can process a given response. More...
 
void handleResponse (const WorkQueue::Response *res, const WorkQueue *srcQ)
 The handler method every subclass must implement. 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 removeInjectorListener ()
 
void setInjectorListener (PMInjectorListener *injectorListener)
 

Static Public Member Functions

static PMInjectorgetSingleton (void)
 Override standard Singleton retrieval. More...
 
static PMInjectorgetSingletonPtr (void)
 Override standard Singleton retrieval. More...
 

Protected Member Functions

void inject (PMGenRequest *request)
 

Protected Attributes

PMInjectorListenermInjectorListener
 

Static Protected Attributes

static PMInjectormsSingleton
 

Detailed Description

Injects the output of a request to the mesh in a thread safe way.

Definition at line 143 of file OgreQueuedProgressiveMeshGenerator.h.

Constructor & Destructor Documentation

Ogre::PMInjector::PMInjector ( )
virtual Ogre::PMInjector::~PMInjector ( )
virtual

Member Function Documentation

virtual bool Ogre::WorkQueue::ResponseHandler::canHandleResponse ( const Response res,
const WorkQueue srcQ 
)
inlinevirtualinherited

Return whether this handler can process a given response.

Remarks
Defaults to true, but if you wish to add several handlers each of which deal with different types of response, you can override this method.

Reimplemented in Ogre::Terrain, Ogre::TerrainGroup, Ogre::ResourceBackgroundQueue, Ogre::Page, and Ogre::TerrainLodManager.

Definition at line 208 of file OgreWorkQueue.h.

References Ogre::WorkQueue::Request::getAborted(), and Ogre::WorkQueue::Response::getRequest().

static PMInjector& Ogre::PMInjector::getSingleton ( void  )
static

Override standard Singleton retrieval.

Remarks
Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll.
This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.
static PMInjector* Ogre::PMInjector::getSingletonPtr ( void  )
static

Override standard Singleton retrieval.

Remarks
Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll.
This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.
void Ogre::PMInjector::handleResponse ( const WorkQueue::Response res,
const WorkQueue srcQ 
)
virtual

The handler method every subclass must implement.

Parameters
resThe Response structure. The caller is responsible for deleting this after the call is made, none of the data contained (except pointers to structures in user Any data) will persist after this call is returned.
srcQThe work queue that this request originated from

Implements Ogre::WorkQueue::ResponseHandler.

void Ogre::PMInjector::inject ( PMGenRequest request)
protected
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::PMInjector::removeInjectorListener ( )
inline

Definition at line 188 of file OgreQueuedProgressiveMeshGenerator.h.

void Ogre::PMInjector::setInjectorListener ( PMInjectorListener injectorListener)
inline

Definition at line 187 of file OgreQueuedProgressiveMeshGenerator.h.

Member Data Documentation

PMInjectorListener* Ogre::PMInjector::mInjectorListener
protected

Definition at line 194 of file OgreQueuedProgressiveMeshGenerator.h.

PMInjector * Ogre::Singleton< PMInjector >::msSingleton
staticprotectedinherited

Definition at line 75 of file OgreSingleton.h.


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