OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::Volume::IsoSurface Class Referenceabstract

Abstract IsoSurface. More...

#include <OgreVolumeIsoSurface.h>

+ Inheritance diagram for Ogre::Volume::IsoSurface:
+ Collaboration diagram for Ogre::Volume::IsoSurface:

Public Member Functions

virtual ~IsoSurface (void)
 
virtual void addMarchingCubesTriangles (const Vector3 *corners, const Vector4 *volumeValues, MeshBuilder *mb) const =0
 Adds triangles to a MeshBuilder via Marching Cubes. More...
 
virtual void addMarchingSquaresTriangles (const Vector3 *corners, const Vector4 *volumeValues, const size_t *indices, const Real maxDistance, MeshBuilder *mb) const =0
 Adds triangles to a MeshBuilder via Marching Squares. 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

 IsoSurface (const Source *src)
 Constructor. More...
 

Protected Attributes

const SourcemSrc
 To get the isovalue and normal. More...
 

Static Protected Attributes

static const Real ISO_LEVEL
 The value where our isosurface is. More...
 

Detailed Description

Abstract IsoSurface.

Definition at line 41 of file OgreVolumeIsoSurface.h.

Constructor & Destructor Documentation

Ogre::Volume::IsoSurface::IsoSurface ( const Source src)
explicitprotected

Constructor.

Parameters
srcThe source to use.
virtual Ogre::Volume::IsoSurface::~IsoSurface ( void  )
virtual

Member Function Documentation

virtual void Ogre::Volume::IsoSurface::addMarchingCubesTriangles ( const Vector3 corners,
const Vector4 volumeValues,
MeshBuilder mb 
) const
pure virtual

Adds triangles to a MeshBuilder via Marching Cubes.

Parameters
cornersThe corners of the cube to triangulate via Marching Cubes.
volumeValuesThe cached volume values, one Vector4 consists of gradient (x, y, z) and density (w). If 0 is given, it will be calculated.
mbThe MeshBuilder to add the triangles to.

Implemented in Ogre::Volume::IsoSurfaceMC.

virtual void Ogre::Volume::IsoSurface::addMarchingSquaresTriangles ( const Vector3 corners,
const Vector4 volumeValues,
const size_t *  indices,
const Real  maxDistance,
MeshBuilder mb 
) const
pure virtual

Adds triangles to a MeshBuilder via Marching Squares.

Parameters
cornersThe corners of the cube where one side is to be triangulated.
volumeValuesThe cached volume values, one Vector4 consists of gradient (x, y, z) and density (w). If 0 is given, it will be calculated.
indicesThe four corners of the cube (== one side) to triangulate.
maxDistanceThe maximum distance to the surface where triangles are generated.
mbThe MeshBuilder to add the triangles to.

Implemented in Ogre::Volume::IsoSurfaceMC.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

Member Data Documentation

const Real Ogre::Volume::IsoSurface::ISO_LEVEL
staticprotected

The value where our isosurface is.

Definition at line 46 of file OgreVolumeIsoSurface.h.

const size_t Ogre::Volume::IsoSurface::MS_CORNERS_BACK[4]
static

To call Marching Squares with a cube on its back.

Definition at line 63 of file OgreVolumeIsoSurface.h.

Referenced by Ogre::Volume::DualGridGenerator::addDualCell().

const size_t Ogre::Volume::IsoSurface::MS_CORNERS_BOTTOM[4]
static

To call Marching Squares with a cube on its bottom.

Definition at line 75 of file OgreVolumeIsoSurface.h.

Referenced by Ogre::Volume::DualGridGenerator::addDualCell().

const size_t Ogre::Volume::IsoSurface::MS_CORNERS_FRONT[4]
static

To call Marching Squares with a cube on its front.

Definition at line 60 of file OgreVolumeIsoSurface.h.

Referenced by Ogre::Volume::DualGridGenerator::addDualCell().

const size_t Ogre::Volume::IsoSurface::MS_CORNERS_LEFT[4]
static

To call Marching Squares with a cube on its left.

Definition at line 66 of file OgreVolumeIsoSurface.h.

Referenced by Ogre::Volume::DualGridGenerator::addDualCell().

const size_t Ogre::Volume::IsoSurface::MS_CORNERS_RIGHT[4]
static

To call Marching Squares with a cube on its right.

Definition at line 69 of file OgreVolumeIsoSurface.h.

Referenced by Ogre::Volume::DualGridGenerator::addDualCell().

const size_t Ogre::Volume::IsoSurface::MS_CORNERS_TOP[4]
static

To call Marching Squares with a cube on its top.

Definition at line 72 of file OgreVolumeIsoSurface.h.

Referenced by Ogre::Volume::DualGridGenerator::addDualCell().

const Source* Ogre::Volume::IsoSurface::mSrc
protected

To get the isovalue and normal.

Definition at line 49 of file OgreVolumeIsoSurface.h.


The documentation for this class was generated from the following file: