Marching Cubes implementation like at http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/. More...
#include <OgreVolumeIsoSurfaceMC.h>
Public Member Functions | |
IsoSurfaceMC (const Source *src) | |
Constructor. More... | |
virtual void | addMarchingCubesTriangles (const Vector3 *corners, const Vector4 *volumeValues, MeshBuilder *mb) const |
Overridden from IsoSurface. More... | |
virtual void | addMarchingSquaresTriangles (const Vector3 *corners, const Vector4 *volumeValues, const size_t *indices, const Real maxDistance, MeshBuilder *mb) const |
Overridden from IsoSurface. More... | |
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 More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
Static Public Attributes | |
static const size_t | MS_CORNERS_BACK [4] |
To call Marching Squares with a cube on its back. More... | |
static const size_t | MS_CORNERS_BOTTOM [4] |
To call Marching Squares with a cube on its bottom. More... | |
static const size_t | MS_CORNERS_FRONT [4] |
To call Marching Squares with a cube on its front. More... | |
static const size_t | MS_CORNERS_LEFT [4] |
To call Marching Squares with a cube on its left. More... | |
static const size_t | MS_CORNERS_RIGHT [4] |
To call Marching Squares with a cube on its right. More... | |
static const size_t | MS_CORNERS_TOP [4] |
To call Marching Squares with a cube on its top. More... | |
Protected Member Functions | |
Vector3 | interpolate (const Vector3 &v0, const Vector3 &v1, const Vector4 &val0, const Vector4 &val1, Vector3 &normal) const |
Linear interpolation between two vectors based on some values associated to them. More... | |
Protected Attributes | |
const Source * | mSrc |
To get the isovalue and normal. More... | |
Static Protected Attributes | |
static const Real | ISO_LEVEL |
The value where our isosurface is. More... | |
Marching Cubes implementation like at http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/.
Definition at line 39 of file OgreVolumeIsoSurfaceMC.h.
|
explicit |
Constructor.
src | The source for the isovalues and normals there. |
|
virtual |
Overridden from IsoSurface.
Implements Ogre::Volume::IsoSurface.
|
virtual |
Overridden from IsoSurface.
Implements Ogre::Volume::IsoSurface.
|
inlineprotected |
Linear interpolation between two vectors based on some values associated to them.
v0 | The first vector. |
v1 | The second vector. |
val0 | The value for the first vector. |
val1 | The value for the second vector. |
normal | Reference to a vector where the normal will be stored. |
Definition at line 58 of file OgreVolumeIsoSurfaceMC.h.
References Ogre::Vector3::normalise(), Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector3::x, Ogre::Vector4::y, Ogre::Vector3::y, Ogre::Vector4::z, and Ogre::Vector3::z.
|
inlineinherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
staticprotectedinherited |
The value where our isosurface is.
Definition at line 45 of file OgreVolumeIsoSurface.h.
|
staticinherited |
To call Marching Squares with a cube on its back.
Definition at line 62 of file OgreVolumeIsoSurface.h.
Referenced by Ogre::Volume::DualGridGenerator::addDualCell().
|
staticinherited |
To call Marching Squares with a cube on its bottom.
Definition at line 74 of file OgreVolumeIsoSurface.h.
Referenced by Ogre::Volume::DualGridGenerator::addDualCell().
|
staticinherited |
To call Marching Squares with a cube on its front.
Definition at line 59 of file OgreVolumeIsoSurface.h.
Referenced by Ogre::Volume::DualGridGenerator::addDualCell().
|
staticinherited |
To call Marching Squares with a cube on its left.
Definition at line 65 of file OgreVolumeIsoSurface.h.
Referenced by Ogre::Volume::DualGridGenerator::addDualCell().
|
staticinherited |
To call Marching Squares with a cube on its right.
Definition at line 68 of file OgreVolumeIsoSurface.h.
Referenced by Ogre::Volume::DualGridGenerator::addDualCell().
|
staticinherited |
To call Marching Squares with a cube on its top.
Definition at line 71 of file OgreVolumeIsoSurface.h.
Referenced by Ogre::Volume::DualGridGenerator::addDualCell().
|
protectedinherited |
To get the isovalue and normal.
Definition at line 48 of file OgreVolumeIsoSurface.h.