28#ifndef __Ogre_Volume_IsoSurfaceMC_H__
29#define __Ogre_Volume_IsoSurfaceMC_H__
88 return v0 +
mu * (v1 -
v0);
#define _OgreVolumeExport
Reference-counted shared pointer, used for objects where implicit destruction is required.
Standard 3-dimensional vector.
Real normalise()
Normalises the vector.
4-dimensional homogeneous vector.
Marching Cubes implementation like at http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/.
virtual void addMarchingCubesTriangles(const Vector3 *corners, const Vector4 *volumeValues, MeshBuilder *mb) const
Overridden from IsoSurface.
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.
IsoSurfaceMC(const Source *src)
Constructor.
virtual void addMarchingSquaresTriangles(const Vector3 *corners, const Vector4 *volumeValues, const size_t *indices, const Real maxDistance, MeshBuilder *mb) const
Overridden from IsoSurface.
Class to build up a mesh with vertices and indices.
Abstract class defining the density function.
float Real
Software floating point type.