Processes requests.
More...
#include <OgreQueuedProgressiveMeshGenerator.h>
|
| PMWorker () |
|
virtual | ~PMWorker () |
|
void | addRequestToQueue (PMGenRequest *request) |
|
void | clearPendingLodRequests () |
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
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, void *ptr) |
| placement operator new
|
|
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 | 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.
◆ CollapseCostHeap
◆ CollapsedEdges
◆ IndexBufferInfoList
◆ TriangleList
◆ UniqueVertexSet
◆ VEdges
◆ VertexList
◆ VertexLookupList
◆ VTriangles
◆ PMWorker()
Ogre::PMWorker::PMWorker |
( |
| ) |
|
◆ ~PMWorker()
virtual Ogre::PMWorker::~PMWorker |
( |
| ) |
|
|
virtual |
◆ addEdge()
◆ addIndexBuffer()
◆ addIndexData()
◆ addIndexDataImpl()
◆ addRequestToQueue()
◆ addTriangleToEdges()
void Ogre::ProgressiveMeshGenerator::addTriangleToEdges |
( |
PMTriangle * |
triangle | ) |
|
|
protectedinherited |
◆ addVertexBuffer()
◆ addVertexData()
void Ogre::ProgressiveMeshGenerator::addVertexData |
( |
VertexData * |
vertexData, |
|
|
bool |
useSharedVertexLookup |
|
) |
| |
|
protectedinherited |
◆ assertOutdatedCollapseCost()
void Ogre::ProgressiveMeshGenerator::assertOutdatedCollapseCost |
( |
PMVertex * |
vertex | ) |
|
|
protectedinherited |
◆ assertValidMesh()
void Ogre::ProgressiveMeshGenerator::assertValidMesh |
( |
| ) |
|
|
protectedinherited |
◆ assertValidVertex()
void Ogre::ProgressiveMeshGenerator::assertValidVertex |
( |
PMVertex * |
v | ) |
|
|
protectedinherited |
◆ bakeLods()
void Ogre::PMWorker::bakeLods |
( |
| ) |
|
|
privatevirtual |
◆ buildRequest()
◆ calcLodVertexCount()
◆ canHandleRequest()
◆ cleanupMemory()
void Ogre::ProgressiveMeshGenerator::cleanupMemory |
( |
| ) |
|
|
protectedinherited |
◆ clearPendingLodRequests()
void Ogre::PMWorker::clearPendingLodRequests |
( |
| ) |
|
◆ collapse()
void Ogre::ProgressiveMeshGenerator::collapse |
( |
PMVertex * |
vertex | ) |
|
|
protectedinherited |
◆ computeCosts()
void Ogre::ProgressiveMeshGenerator::computeCosts |
( |
| ) |
|
|
protectedinherited |
◆ computeEdgeCollapseCost()
Real Ogre::ProgressiveMeshGenerator::computeEdgeCollapseCost |
( |
PMVertex * |
src, |
|
|
PMEdge * |
dstEdge |
|
) |
| |
|
protectedinherited |
◆ computeLods()
void Ogre::ProgressiveMeshGenerator::computeLods |
( |
LodConfig & |
lodConfigs | ) |
|
|
protectedinherited |
◆ computeVertexCollapseCost()
void Ogre::ProgressiveMeshGenerator::computeVertexCollapseCost |
( |
PMVertex * |
vertex | ) |
|
|
protectedinherited |
◆ findDstID()
◆ findSideTriangle()
◆ generateAutoconfiguredLodLevels()
virtual void Ogre::ProgressiveMeshGeneratorBase::generateAutoconfiguredLodLevels |
( |
MeshPtr & |
mesh | ) |
|
|
virtualinherited |
Generates the LOD levels for a mesh without configuring it.
- Parameters
-
mesh | Generate the LOD for this mesh. |
◆ generateLodLevels()
void Ogre::ProgressiveMeshGenerator::generateLodLevels |
( |
LodConfig & |
lodConfig | ) |
|
|
virtualinherited |
◆ getAutoconfig()
Fills LOD Config with a config, which works on any mesh.
- Parameters
-
inMesh | Optimize for this mesh. |
outLodConfig | LOD configuration storing the output. |
◆ getPointer()
◆ getSingleton()
Override standard Singleton retrieval.
- This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.
◆ getSingletonPtr()
Override standard Singleton retrieval.
- This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.
◆ getTriangleID()
int Ogre::ProgressiveMeshGenerator::getTriangleID |
( |
PMTriangle * |
triangle | ) |
|
|
protectedinherited |
◆ handleRequest()
The handler method every subclass must implement.
If a failure is encountered, return a Response with a failure result rather than raise an exception.
- Parameters
-
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 |
- Returns
- Pointer to a Response object - the caller is responsible for deleting the object.
Implements Ogre::WorkQueue::RequestHandler.
◆ hasSrcID()
◆ initialize()
void Ogre::PMWorker::initialize |
( |
| ) |
|
|
private |
◆ isBorderVertex()
◆ isDuplicateTriangle() [1/2]
◆ isDuplicateTriangle() [2/2]
◆ operator delete() [1/3]
◆ operator delete() [2/3]
◆ operator delete() [3/3]
◆ operator delete[]() [1/2]
◆ operator delete[]() [2/2]
◆ operator new() [1/3]
◆ operator new() [2/3]
◆ operator new() [3/3]
◆ operator new[]() [1/2]
◆ operator new[]() [2/2]
◆ printTriangle()
◆ removeEdge()
◆ removeTriangleFromEdges()
◆ replaceVertexID()
◆ tuneContainerSize()
void Ogre::PMWorker::tuneContainerSize |
( |
| ) |
|
|
private |
◆ updateVertexCollapseCost()
void Ogre::ProgressiveMeshGenerator::updateVertexCollapseCost |
( |
PMVertex * |
src | ) |
|
|
protectedinherited |
◆ mChannelID
ushort Ogre::PMWorker::mChannelID |
|
private |
◆ mCollapseCostHeap
◆ mCollapseCostLimit
Real Ogre::ProgressiveMeshGenerator::mCollapseCostLimit |
|
protectedinherited |
◆ mIndexBufferInfoList
◆ mMesh
MeshPtr Ogre::ProgressiveMeshGenerator::mMesh |
|
protectedinherited |
◆ mMeshBoundingSphereRadius
Real Ogre::ProgressiveMeshGenerator::mMeshBoundingSphereRadius |
|
protectedinherited |
◆ mMeshName
String Ogre::ProgressiveMeshGenerator::mMeshName |
|
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 209 of file OgreProgressiveMeshGenerator.h.
◆ mRequest
◆ mSharedVertexLookup
◆ msSingleton
◆ mTriangleList
◆ mUniqueVertexSet
◆ mVertexList
VertexList Ogre::ProgressiveMeshGenerator::mVertexList |
|
protectedinherited |
◆ mVertexLookup
◆ tmpCollapsedEdges
The documentation for this class was generated from the following file: