|
OGRE
1.9.0
|
Class for the generation of the DualGrid. More...
#include <OgreVolumeDualGridGenerator.h>

Public Member Functions | |
| DualGridGenerator (void) | |
| Constructor. | |
| void | generateDualGrid (const OctreeNode *root, IsoSurface *is, MeshBuilder *mb, Real maxMSDistance, const Vector3 &totalFrom, const Vector3 &totalTo, bool saveDualCells) |
| Generates the dualgrid of the given octree root node. | |
| DualCell | getDualCell (size_t i) const |
| Gets a dual cell. | |
| size_t | getDualCellCount (void) const |
| Gets the amount of generated dual cells. | |
| Entity * | getDualGrid (SceneManager *sceneManager) |
| Gets the lazily created entity of the dualgrid debug visualization. | |
| 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 | |
Protected Member Functions | |
| void | addDualCell (const Vector3 &c0, const Vector3 &c1, const Vector3 &c2, const Vector3 &c3, const Vector3 &c4, const Vector3 &c5, const Vector3 &c6, const Vector3 &c7) |
| Adds a dualcell. | |
| void | addDualCell (const Vector3 &c0, const Vector3 &c1, const Vector3 &c2, const Vector3 &c3, const Vector3 &c4, const Vector3 &c5, const Vector3 &c6, const Vector3 &c7, Vector4 *values) |
| Adds a dualcell with precalculated values. | |
| void | createBorderCells (const OctreeNode *n0, const OctreeNode *n1, const OctreeNode *n2, const OctreeNode *n3, const OctreeNode *n4, const OctreeNode *n5, const OctreeNode *n6, const OctreeNode *n7) |
| void | edgeProcX (const OctreeNode *n0, const OctreeNode *n1, const OctreeNode *n2, const OctreeNode *n3) |
| edgeProc with variing X of the nodes, see the paper for edgeProc(). | |
| void | edgeProcY (const OctreeNode *n0, const OctreeNode *n1, const OctreeNode *n2, const OctreeNode *n3) |
| edgeProc with variing Y of the nodes, see the paper for edgeProc(). | |
| void | edgeProcZ (const OctreeNode *n0, const OctreeNode *n1, const OctreeNode *n2, const OctreeNode *n3) |
| edgeProc with variing Z of the nodes, see the paper for edgeProc(). | |
| void | faceProcXY (const OctreeNode *n0, const OctreeNode *n1) |
| void | faceProcXZ (const OctreeNode *n0, const OctreeNode *n1) |
| void | faceProcZY (const OctreeNode *n0, const OctreeNode *n1) |
| void | nodeProc (const OctreeNode *n) |
| void | vertProc (const OctreeNode *n0, const OctreeNode *n1, const OctreeNode *n2, const OctreeNode *n3, const OctreeNode *n4, const OctreeNode *n5, const OctreeNode *n6, const OctreeNode *n7) |
Protected Attributes | |
| VecDualCell | mDualCells |
| Holds the generated dual cells of the grid. | |
| Entity * | mDualGrid |
| The entity for the debug visualization of the grid. | |
| IsoSurface * | mIs |
| To contour the dualcells. | |
| Real | mMaxMSDistance |
| The maximum distance where to generate the skirts. | |
| MeshBuilder * | mMb |
| To store the triangles of the contour. | |
| OctreeNode const * | mRoot |
| Starting node to generate the grid from. | |
| bool | mSaveDualCells |
| Whether to store the dualcells for later visualization. | |
| Vector3 | mTotalFrom |
| The global from. | |
| Vector3 | mTotalTo |
| The total to. | |
Static Protected Attributes | |
| static size_t | mDualGridI |
| To give the debug manual object an unique name. | |
Class for the generation of the DualGrid.
Definition at line 67 of file OgreVolumeDualGridGenerator.h.
| Ogre::Volume::DualGridGenerator::DualGridGenerator | ( | void | ) |
Constructor.
|
protected |
Adds a dualcell.
| c0 | The first corner. |
| c1 | The second corner. |
| c2 | The third corner. |
| c3 | The fourth corner. |
| c4 | The fifth corner. |
| c5 | The sixth corner. |
| c6 | The seventh corner. |
Definition at line 117 of file OgreVolumeDualGridGenerator.h.
References addDualCell().
Referenced by addDualCell().
|
protected |
Adds a dualcell with precalculated values.
| c0 | The first corner. |
| c1 | The second corner. |
| c2 | The third corner. |
| c3 | The fourth corner. |
| c4 | The fifth corner. |
| c5 | The sixth corner. |
| c6 | The seventh corner. |
| c7 | The eighth corner. |
| values | The (possible) values at the corners. |
Definition at line 142 of file OgreVolumeDualGridGenerator.h.
References mDualCells, mIs, mMaxMSDistance, mMb, mRoot, Ogre::Volume::IsoSurface::MS_CORNERS_BACK, Ogre::Volume::IsoSurface::MS_CORNERS_BOTTOM, Ogre::Volume::IsoSurface::MS_CORNERS_FRONT, Ogre::Volume::IsoSurface::MS_CORNERS_LEFT, Ogre::Volume::IsoSurface::MS_CORNERS_RIGHT, Ogre::Volume::IsoSurface::MS_CORNERS_TOP, mSaveDualCells, mTotalFrom, mTotalTo, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
|
protected |
|
protected |
edgeProc with variing X of the nodes, see the paper for edgeProc().
Direction of parameters: Z+, Y around the clock (n0, n3, n7, n4 for example of the parent cell)
| n0 | The first node. |
| n1 | The second node. |
| n2 | The third node. |
| n3 | The fourth node. |
|
protected |
edgeProc with variing Y of the nodes, see the paper for edgeProc().
Direction of parameters: X+, Z around the clock (n0, n1, n2, n3 for example of the parent cell)
| n0 | The first node. |
| n1 | The second node. |
| n2 | The third node. |
| n3 | The fourth node. |
|
protected |
edgeProc with variing Z of the nodes, see the paper for edgeProc().
Direction of parameters: X+, Y around the clock (n7, n6, n2, n3 for example of the parent cell)
| n0 | The first node. |
| n1 | The second node. |
| n2 | The third node. |
| n3 | The fourth node. |
|
protected |
|
protected |
|
protected |
| void Ogre::Volume::DualGridGenerator::generateDualGrid | ( | const OctreeNode * | root, |
| IsoSurface * | is, | ||
| MeshBuilder * | mb, | ||
| Real | maxMSDistance, | ||
| const Vector3 & | totalFrom, | ||
| const Vector3 & | totalTo, | ||
| bool | saveDualCells ) |
Generates the dualgrid of the given octree root node.
| root | The octree root node. |
| is | To contour the dualcells. |
| mb | To store the triangles of the contour. |
| maxMSDistance | The maximum distance to the isosurface where to generate skirts. |
| totalFrom | The global from. |
| totalTo | The global to. |
| saveDualCells | Whether to save the generated dualcells of the generated dual cells. |
| DualCell Ogre::Volume::DualGridGenerator::getDualCell | ( | size_t | i | ) | const |
Gets a dual cell.
| i | The index of the wanted dual cell. |
Definition at line 345 of file OgreVolumeDualGridGenerator.h.
References mDualCells.
| size_t Ogre::Volume::DualGridGenerator::getDualCellCount | ( | void | ) | const |
Gets the amount of generated dual cells.
Definition at line 334 of file OgreVolumeDualGridGenerator.h.
References mDualCells.
| Entity * Ogre::Volume::DualGridGenerator::getDualGrid | ( | SceneManager * | sceneManager | ) |
Gets the lazily created entity of the dualgrid debug visualization.
| sceneManager | The scenemanager creating the entity. |
|
protected |
|
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.
|
protected |
|
protected |
Holds the generated dual cells of the grid.
Definition at line 81 of file OgreVolumeDualGridGenerator.h.
Referenced by addDualCell(), getDualCell(), and getDualCellCount().
|
protected |
The entity for the debug visualization of the grid.
Definition at line 75 of file OgreVolumeDualGridGenerator.h.
|
staticprotected |
To give the debug manual object an unique name.
Definition at line 72 of file OgreVolumeDualGridGenerator.h.
|
protected |
To contour the dualcells.
Definition at line 87 of file OgreVolumeDualGridGenerator.h.
Referenced by addDualCell().
|
protected |
The maximum distance where to generate the skirts.
Definition at line 93 of file OgreVolumeDualGridGenerator.h.
Referenced by addDualCell().
|
protected |
To store the triangles of the contour.
Definition at line 90 of file OgreVolumeDualGridGenerator.h.
Referenced by addDualCell().
|
protected |
Starting node to generate the grid from.
Definition at line 78 of file OgreVolumeDualGridGenerator.h.
Referenced by addDualCell().
|
protected |
Whether to store the dualcells for later visualization.
Definition at line 84 of file OgreVolumeDualGridGenerator.h.
Referenced by addDualCell().
|
protected |
The global from.
Definition at line 96 of file OgreVolumeDualGridGenerator.h.
Referenced by addDualCell().
|
protected |
The total to.
Definition at line 99 of file OgreVolumeDualGridGenerator.h.
Referenced by addDualCell().
1.13.2