Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
Ogre::Volume::IsoSurface Class Reference

Abstract IsoSurface. More...

#include <OgreVolumeIsoSurface.h>

Inheritance diagram for Ogre::Volume::IsoSurface:
Inheritance graph
[legend]

List of all members.

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

Static Public Attributes

static const size_t MS_CORNERS_BACK [4]
 To call Marching Squares with a cube on its back.
static const size_t MS_CORNERS_BOTTOM [4]
 To call Marching Squares with a cube on its bottom.
static const size_t MS_CORNERS_FRONT [4]
 To call Marching Squares with a cube on its front.
static const size_t MS_CORNERS_LEFT [4]
 To call Marching Squares with a cube on its left.
static const size_t MS_CORNERS_RIGHT [4]
 To call Marching Squares with a cube on its right.
static const size_t MS_CORNERS_TOP [4]
 To call Marching Squares with a cube on its top.

Protected Member Functions

 IsoSurface (const Source *src)
 Constructor.

Protected Attributes

const SourcemSrc
 To get the isovalue and normal.

Static Protected Attributes

static const Real ISO_LEVEL
 The value where our isosurface is.

Detailed Description

Abstract IsoSurface.

Definition at line 40 of file OgreVolumeIsoSurface.h.


Constructor & Destructor Documentation

Ogre::Volume::IsoSurface::IsoSurface ( const Source src) [explicit, protected]

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) [inherited]

Definition at line 96 of file OgreMemoryAllocatedObject.h.

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

Definition at line 102 of file OgreMemoryAllocatedObject.h.

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

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 
) [inherited]

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) [inherited]

Definition at line 73 of file OgreMemoryAllocatedObject.h.

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

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 
) [inherited]

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) [inherited]

Definition at line 91 of file OgreMemoryAllocatedObject.h.


Member Data Documentation

const Real Ogre::Volume::IsoSurface::ISO_LEVEL [static, protected]

The value where our isosurface is.

Definition at line 45 of file OgreVolumeIsoSurface.h.

To call Marching Squares with a cube on its back.

Definition at line 62 of file OgreVolumeIsoSurface.h.

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

To call Marching Squares with a cube on its bottom.

Definition at line 74 of file OgreVolumeIsoSurface.h.

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

To call Marching Squares with a cube on its front.

Definition at line 59 of file OgreVolumeIsoSurface.h.

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

To call Marching Squares with a cube on its left.

Definition at line 65 of file OgreVolumeIsoSurface.h.

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

To call Marching Squares with a cube on its right.

Definition at line 68 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 71 of file OgreVolumeIsoSurface.h.

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

To get the isovalue and normal.

Definition at line 48 of file OgreVolumeIsoSurface.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:41:52