Work on simple interface.

This commit is contained in:
David Williams
2011-10-15 00:01:17 +01:00
parent 6f31898fd7
commit db81e1bc3f
3 changed files with 17 additions and 19 deletions

View File

@ -24,28 +24,20 @@ freely, subject to the following restrictions:
#ifndef __PolyVox_SimpleInterface_H__
#define __PolyVox_SimpleInterface_H__
//Available voxel types
#include "PolyVoxCore\Density.h"
#include "PolyVoxCore\Material.h"
#include "PolyVoxCore\MaterialDensityPair.h"
//Available volumes
#include "PolyVoxCore\LargeVolume.h"
#include "PolyVoxCore\RawVolume.h"
#include "PolyVoxCore\SimpleVolume.h"
//Available extractors
#include "PolyVoxCore\CubicSurfaceExtractorWithNormals.h"
#include "PolyVoxCore\MaterialDensityPair.h"
#include "PolyVoxCore\SimpleVolume.h"
#include "PolyVoxCore\SurfaceExtractor.h"
namespace PolyVox
{
//The PolyVox simple interface only exposes one voxel type and one volume type. But if you like you can
//adjust these typedefs and rebuild the library in order to modify which one volume and voxel is exposed.
typedef SimpleVolume<MaterialDensityPair88> BasicVolume;
typedef SurfaceMesh<PositionMaterialNormal> BasicMesh;
typedef SimpleVolume<MaterialDensityPair88> Volume;
typedef SurfaceMesh<PositionMaterialNormal> Mesh;
void extractCubicMesh(BasicVolume& volume, const Region& region, BasicMesh& resultMesh);
void extractCubicMesh(Volume& volume, const Region& region, Mesh& resultMesh);
void extractSmoothMesh(Volume& volume, const Region& region, Mesh& resultMesh);
}

View File

@ -18,16 +18,22 @@ freely, subject to the following restrictions:
misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
distribution.
*******************************************************************************/
#include "PolyVoxCore\SimpleInterface.h"
namespace PolyVox
{
void extractCubicMesh(BasicVolume& volume, const Region& region, BasicMesh& resultMesh)
void extractCubicMesh(Volume& volume, const Region& region, Mesh& resultMesh)
{
CubicSurfaceExtractorWithNormals<SimpleVolume, MaterialDensityPair88 > surfaceExtractor(&volume, region, &resultMesh);
surfaceExtractor.execute();
}
void extractSmoothMesh(Volume& volume, const Region& region, Mesh& resultMesh)
{
SurfaceExtractor<SimpleVolume, MaterialDensityPair88 > surfaceExtractor(&volume, region, &resultMesh);
surfaceExtractor.execute();
}
}