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:
[legend]

## 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 PMInjector & | getSingleton (void)
| Override standard Singleton retrieval. More...
static PMInjector * | getSingletonPtr (void)
| Override standard Singleton retrieval. More...

## Protected Member Functions

void | inject (PMGenRequest *request)

## Protected Attributes

PMInjectorListener * | mInjectorListener

## Static Protected Attributes

static PMInjector * | msSingleton

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

## PMInjector()

Ogre::PMInjector::PMInjector | ( |  | ) |

## ~PMInjector()

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

virtual

## Member Function Documentation

## canHandleResponse()

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

virtual inherited

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().

## getSingleton()

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.

## getSingletonPtr()

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.

## handleResponse()

void Ogre::PMInjector::handleResponse | ( | const WorkQueue::Response * | res,
|  | const WorkQueue * | srcQ
| ) |  |

virtual

The handler method every subclass must implement.

Parameters

  res | The 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.
  srcQ | The work queue that this request originated from

Implements Ogre::WorkQueue::ResponseHandler.

## inject()

void Ogre::PMInjector::inject | ( | PMGenRequest * | request | ) |

protected

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

## removeInjectorListener()

void Ogre::PMInjector::removeInjectorListener | ( |  | ) |

Definition at line 188 of file OgreQueuedProgressiveMeshGenerator.h.

## setInjectorListener()

void Ogre::PMInjector::setInjectorListener | ( | PMInjectorListener * | injectorListener | ) |

Definition at line 187 of file OgreQueuedProgressiveMeshGenerator.h.

## Member Data Documentation

## mInjectorListener

PMInjectorListener* Ogre::PMInjector::mInjectorListener

protected

Definition at line 194 of file OgreQueuedProgressiveMeshGenerator.h.

## msSingleton

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

static protected inherited

Definition at line 75 of file OgreSingleton.h.

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

- OgreQueuedProgressiveMeshGenerator.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.