28#ifndef __Ogre_Volume_IsoSurface_H__
29#define __Ogre_Volume_IsoSurface_H__
#define _OgreVolumeExport
Standard 3-dimensional vector.
4-dimensional homogeneous vector.
virtual void addMarchingCubesTriangles(const Vector3 *corners, const Vector4 *volumeValues, MeshBuilder *mb) const =0
Adds triangles to a MeshBuilder via Marching Cubes.
static const Real ISO_LEVEL
The value where our isosurface is.
virtual ~IsoSurface(void)
static const size_t MS_CORNERS_TOP[4]
To call Marching Squares with a cube on its top.
static const size_t MS_CORNERS_FRONT[4]
To call Marching Squares with a cube on its front.
static const size_t MS_CORNERS_BACK[4]
To call Marching Squares with a cube on its back.
const Source * mSrc
To get the isovalue and normal.
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.
static const size_t MS_CORNERS_LEFT[4]
To call Marching Squares with a cube on its left.
IsoSurface(const Source *src)
Constructor.
static const size_t MS_CORNERS_BOTTOM[4]
To call Marching Squares with a cube on its bottom.
static const size_t MS_CORNERS_RIGHT[4]
To call Marching Squares with a cube on its right.
Class to build up a mesh with vertices and indices.
Abstract class defining the density function.
float Real
Software floating point type.
GeneralAllocatedObject UtilityAlloc