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