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 *) |
| 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 | |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| 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) |
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.
Constructor.
| void Ogre::Volume::DualGridGenerator::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 | ||
| ) | [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.
| void Ogre::Volume::DualGridGenerator::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 | ||
| ) | [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 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, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
| void Ogre::Volume::DualGridGenerator::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 | ||
| ) | [protected] |
| void Ogre::Volume::DualGridGenerator::edgeProcX | ( | const OctreeNode * | n0, |
| const OctreeNode * | n1, | ||
| const OctreeNode * | n2, | ||
| const OctreeNode * | n3 | ||
| ) | [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. |
| void Ogre::Volume::DualGridGenerator::edgeProcY | ( | const OctreeNode * | n0, |
| const OctreeNode * | n1, | ||
| const OctreeNode * | n2, | ||
| const OctreeNode * | n3 | ||
| ) | [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. |
| void Ogre::Volume::DualGridGenerator::edgeProcZ | ( | const OctreeNode * | n0, |
| const OctreeNode * | n1, | ||
| const OctreeNode * | n2, | ||
| const OctreeNode * | n3 | ||
| ) | [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. |
| void Ogre::Volume::DualGridGenerator::faceProcXY | ( | const OctreeNode * | n0, |
| const OctreeNode * | n1 | ||
| ) | [protected] |
| void Ogre::Volume::DualGridGenerator::faceProcXZ | ( | const OctreeNode * | n0, |
| const OctreeNode * | n1 | ||
| ) | [protected] |
| void Ogre::Volume::DualGridGenerator::faceProcZY | ( | const OctreeNode * | n0, |
| const OctreeNode * | n1 | ||
| ) | [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.
| size_t Ogre::Volume::DualGridGenerator::getDualCellCount | ( | void | ) | const |
Gets the amount of generated dual cells.
Definition at line 334 of file OgreVolumeDualGridGenerator.h.
| Entity* Ogre::Volume::DualGridGenerator::getDualGrid | ( | SceneManager * | sceneManager | ) |
Gets the lazily created entity of the dualgrid debug visualization.
| sceneManager | The scenemanager creating the entity. |
| void Ogre::Volume::DualGridGenerator::nodeProc | ( | const OctreeNode * | n | ) | [protected] |
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
| void * | |||
| ) | [inherited] |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
| const char * | , | ||
| int | , | ||
| const char * | |||
| ) | [inherited] |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, |
| const char * | , | ||
| int | , | ||
| const char * | |||
| ) | [inherited] |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
| const char * | file, | ||
| int | line, | ||
| const char * | func | ||
| ) | [inherited] |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
| void * | ptr | ||
| ) | [inherited] |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, |
| const char * | file, | ||
| int | line, | ||
| const char * | func | ||
| ) | [inherited] |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
| void Ogre::Volume::DualGridGenerator::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] |
Holds the generated dual cells of the grid.
Definition at line 81 of file OgreVolumeDualGridGenerator.h.
Entity* Ogre::Volume::DualGridGenerator::mDualGrid [protected] |
The entity for the debug visualization of the grid.
Definition at line 75 of file OgreVolumeDualGridGenerator.h.
size_t Ogre::Volume::DualGridGenerator::mDualGridI [static, protected] |
To give the debug manual object an unique name.
Definition at line 72 of file OgreVolumeDualGridGenerator.h.
IsoSurface* Ogre::Volume::DualGridGenerator::mIs [protected] |
To contour the dualcells.
Definition at line 87 of file OgreVolumeDualGridGenerator.h.
Real Ogre::Volume::DualGridGenerator::mMaxMSDistance [protected] |
The maximum distance where to generate the skirts.
Definition at line 93 of file OgreVolumeDualGridGenerator.h.
MeshBuilder* Ogre::Volume::DualGridGenerator::mMb [protected] |
To store the triangles of the contour.
Definition at line 90 of file OgreVolumeDualGridGenerator.h.
OctreeNode const* Ogre::Volume::DualGridGenerator::mRoot [protected] |
Starting node to generate the grid from.
Definition at line 78 of file OgreVolumeDualGridGenerator.h.
bool Ogre::Volume::DualGridGenerator::mSaveDualCells [protected] |
Whether to store the dualcells for later visualization.
Definition at line 84 of file OgreVolumeDualGridGenerator.h.
Vector3 Ogre::Volume::DualGridGenerator::mTotalFrom [protected] |
The global from.
Definition at line 96 of file OgreVolumeDualGridGenerator.h.
Vector3 Ogre::Volume::DualGridGenerator::mTotalTo [protected] |
The total to.
Definition at line 99 of file OgreVolumeDualGridGenerator.h.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:41:52