OGRE
1.9.0
|
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 | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, void *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz) |
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, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz) |
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, const char *file, int line, const char *func) |
array operator new, with debug line info | |
Static Public Member Functions | |
static PMWorker & | getSingleton (void) |
Override standard Singleton retrieval. | |
static PMWorker * | getSingletonPtr (void) |
Override standard Singleton retrieval. | |
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. | |
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. | |
void | generateLodLevels (LodConfig &lodConfig) |
Generates the LOD levels for a mesh. | |
virtual void | getAutoconfig (MeshPtr &inMesh, LodConfig &outLodConfig) |
Fills LOD Config with a config, which works on any mesh. | |
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. | |
bool | hasSrcID (unsigned int srcID, unsigned short submeshID) |
void | initialize () |
bool | isBorderVertex (const PMVertex *vertex) const |
PMTriangle * | isDuplicateTriangle (PMTriangle *triangle) |
bool | isDuplicateTriangle (PMTriangle *triangle, PMTriangle *triangle2) |
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 115 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 | ( | ) |
Referenced by getSingleton(), and getSingletonPtr().
|
virtual |
|
protectedinherited |
|
private |
|
protectedinherited |
|
protectedinherited |
Definition at line 220 of file OgreProgressiveMeshGenerator.h.
References addTriangleToEdges(), Ogre::ProgressiveMeshGenerator::PMTriangle::computeNormal(), Ogre::LogManager::getSingleton(), getTriangleID(), Ogre::ProgressiveMeshGenerator::PMTriangle::isMalformed(), Ogre::ProgressiveMeshGenerator::PMTriangle::isRemoved, mIndexBufferInfoList, mMeshName, mTriangleList, OgreAssert, printTriangle(), Ogre::ProgressiveMeshGenerator::PMTriangle::submeshID, Ogre::ProgressiveMeshGenerator::PMTriangle::vertex, and Ogre::ProgressiveMeshGenerator::PMTriangle::vertexID.
void Ogre::PMWorker::addRequestToQueue | ( | PMGenRequest * | request | ) |
|
protectedinherited |
Referenced by addIndexDataImpl().
|
private |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
privatevirtual |
Reimplemented from Ogre::ProgressiveMeshGenerator.
|
private |
|
protectedinherited |
|
virtualinherited |
Return whether this handler can process a given request.
Reimplemented in Ogre::Page, Ogre::ResourceBackgroundQueue, Ogre::Terrain, Ogre::TerrainGroup, and Ogre::TerrainLodManager.
Definition at line 173 of file OgreWorkQueue.h.
References Ogre::WorkQueue::WorkQueue(), and 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.
References PMWorker().
|
static |
Override standard Singleton retrieval.
References PMWorker().
|
protectedinherited |
Referenced by addIndexDataImpl().
|
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 |
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
protectedinherited |
Referenced by addIndexDataImpl().
|
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.
Referenced by addIndexDataImpl().
|
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.
Referenced by addIndexDataImpl().
|
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.
Referenced by addIndexDataImpl().
|
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.