Processes requests. More...
#include <OgreQueuedProgressiveMeshGenerator.h>
Public Member Functions | |
PMWorker () | |
virtual | ~PMWorker () |
void | addRequestToQueue (PMGenRequest *request) |
void | clearPendingLodRequests () |
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) |
Static Public Member Functions | |
static PMWorker & | getSingleton (void) |
Override standard Singleton retrieval. More... | |
static PMWorker * | getSingletonPtr (void) |
Override standard Singleton retrieval. More... | |
Static Protected Attributes | |
static PMWorker * | msSingleton |
Private Types | |
typedef multimap< Real, PMVertex * >::type | CollapseCostHeap |
typedef vector < PMCollapsedEdge >::type | CollapsedEdges |
typedef vector < PMIndexBufferInfo >::type | IndexBufferInfoList |
typedef vector< PMTriangle >::type | TriangleList |
typedef HashSet< PMVertex *, PMVertexHash, PMVertexEqual > | UniqueVertexSet |
typedef VectorSet< PMEdge, 8 > | VEdges |
typedef vector< PMVertex >::type | VertexList |
typedef vector< PMVertex * >::type | VertexLookupList |
typedef VectorSet< PMTriangle *, 7 > | VTriangles |
Private Member Functions | |
void | addEdge (PMVertex *v, const PMEdge &edge) |
void | addIndexBuffer (PMGenRequest::IndexBuffer &indexBuffer, bool useSharedVertexLookup, unsigned short submeshID) |
void | addIndexData (IndexData *indexData, bool useSharedVertexLookup, unsigned short submeshID) |
template<typename IndexType > | |
void | addIndexDataImpl (IndexType *iPos, const IndexType *iEnd, VertexLookupList &lookup, unsigned short submeshID) |
void | addTriangleToEdges (PMTriangle *triangle) |
void | addVertexBuffer (const PMGenRequest::VertexBuffer &vertexBuffer, bool useSharedVertexLookup) |
void | addVertexData (VertexData *vertexData, bool useSharedVertexLookup) |
void | assertOutdatedCollapseCost (PMVertex *vertex) |
void | assertValidMesh () |
void | assertValidVertex (PMVertex *v) |
void | bakeLods () |
void | buildRequest (LodConfig &lodConfigs) |
size_t | calcLodVertexCount (const LodLevel &lodConfig) |
virtual bool | canHandleRequest (const Request *req, const WorkQueue *srcQ) |
Return whether this handler can process a given request. More... | |
void | cleanupMemory () |
void | collapse (PMVertex *vertex) |
void | computeCosts () |
Real | computeEdgeCollapseCost (PMVertex *src, PMEdge *dstEdge) |
void | computeLods (LodConfig &lodConfigs) |
void | computeVertexCollapseCost (PMVertex *vertex) |
size_t | findDstID (unsigned int srcID, unsigned short submeshID) |
PMTriangle * | findSideTriangle (const PMVertex *v1, const PMVertex *v2) |
virtual void | generateAutoconfiguredLodLevels (MeshPtr &mesh) |
Generates the LOD levels for a mesh without configuring it. More... | |
void | generateLodLevels (LodConfig &lodConfig) |
Generates the LOD levels for a mesh. More... | |
virtual void | getAutoconfig (MeshPtr &inMesh, LodConfig &outLodConfig) |
Fills LOD Config with a config, which works on any mesh. More... | |
PMEdge * | getPointer (VEdges::iterator it) |
int | getTriangleID (PMTriangle *triangle) |
WorkQueue::Response * | handleRequest (const WorkQueue::Request *req, const WorkQueue *srcQ) |
The handler method every subclass must implement. More... | |
bool | hasSrcID (unsigned int srcID, unsigned short submeshID) |
void | initialize () |
bool | isBorderVertex (const PMVertex *vertex) const |
bool | isDuplicateTriangle (PMTriangle *triangle, PMTriangle *triangle2) |
PMTriangle * | isDuplicateTriangle (PMTriangle *triangle) |
void | printTriangle (PMTriangle *triangle, stringstream &str) |
void | removeEdge (PMVertex *v, const PMEdge &edge) |
void | removeTriangleFromEdges (PMTriangle *triangle, PMVertex *skip=NULL) |
void | replaceVertexID (PMTriangle *triangle, unsigned int oldID, unsigned int newID, PMVertex *dst) |
void | tuneContainerSize () |
void | updateVertexCollapseCost (PMVertex *src) |
Processes requests.
Definition at line 73 of file OgreQueuedProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 118 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 124 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 125 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 116 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 117 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 121 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 113 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 119 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 122 of file OgreProgressiveMeshGenerator.h.
Ogre::PMWorker::PMWorker | ( | ) |
|
virtual |
|
protectedinherited |
|
private |
|
protectedinherited |
|
inlineprotectedinherited |
Definition at line 220 of file OgreProgressiveMeshGenerator.h.
References Ogre::ProgressiveMeshGenerator::PMTriangle::computeNormal(), Ogre::LogManager::getSingleton(), Ogre::ProgressiveMeshGenerator::PMTriangle::isMalformed(), Ogre::ProgressiveMeshGenerator::PMTriangle::isRemoved, OgreAssert, Ogre::LogManager::stream(), Ogre::ProgressiveMeshGenerator::PMTriangle::submeshID, Ogre::ProgressiveMeshGenerator::PMTriangle::vertex, and Ogre::ProgressiveMeshGenerator::PMTriangle::vertexID.
void Ogre::PMWorker::addRequestToQueue | ( | PMGenRequest * | request | ) |
|
protectedinherited |
|
private |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
privatevirtual |
Reimplemented from Ogre::ProgressiveMeshGenerator.
|
private |
|
protectedinherited |
|
inlinevirtualinherited |
Return whether this handler can process a given request.
Reimplemented in Ogre::Terrain, Ogre::TerrainGroup, Ogre::ResourceBackgroundQueue, Ogre::Page, and Ogre::TerrainLodManager.
Definition at line 173 of file OgreWorkQueue.h.
References Ogre::WorkQueue::Request::getAborted().
|
protectedinherited |
void Ogre::PMWorker::clearPendingLodRequests | ( | ) |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
virtualinherited |
Generates the LOD levels for a mesh without configuring it.
mesh | Generate the LOD for this mesh. |
|
virtualinherited |
Generates the LOD levels for a mesh.
lodConfig | Specification of the requested LOD levels. |
Implements Ogre::ProgressiveMeshGeneratorBase.
|
virtualinherited |
Fills LOD Config with a config, which works on any mesh.
inMesh | Optimize for this mesh. |
outLodConfig | LOD configuration storing the output. |
|
protectedinherited |
|
static |
Override standard Singleton retrieval.
|
static |
Override standard Singleton retrieval.
|
protectedinherited |
|
privatevirtual |
The handler method every subclass must implement.
If a failure is encountered, return a Response with a failure result rather than raise an exception.
req | The Request structure, which is effectively owned by the handler during this call. It must be attached to the returned Response regardless of success or failure. |
srcQ | The work queue that this request originated from |
Implements Ogre::WorkQueue::RequestHandler.
|
protectedinherited |
|
private |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
inlineinherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
private |
|
protectedinherited |
|
private |
Definition at line 120 of file OgreQueuedProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 198 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 213 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 200 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 202 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 212 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
The name of the mesh being processed.
This is separate from mMesh in order to allow for access from background threads.
Definition at line 210 of file OgreProgressiveMeshGenerator.h.
|
private |
Definition at line 119 of file OgreQueuedProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 193 of file OgreProgressiveMeshGenerator.h.
|
staticprotectedinherited |
Definition at line 75 of file OgreSingleton.h.
|
protectedinherited |
Definition at line 196 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 197 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 195 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 194 of file OgreProgressiveMeshGenerator.h.
|
protectedinherited |
Definition at line 199 of file OgreProgressiveMeshGenerator.h.