From 1f5c0743643df8526f4d0b5a9eed103f052d6185 Mon Sep 17 00:00:00 2001 From: David Williams Date: Sat, 16 Aug 2014 16:38:32 +0200 Subject: [PATCH] Bringing extractCubicMesh into line with extractMarchingCubesMesh. --- .../include/PolyVoxCore/CubicSurfaceExtractor.h | 15 ++++++++++----- .../PolyVoxCore/MarchingCubesSurfaceExtractor.h | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractor.h b/library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractor.h index 69fb80f2..4996d79d 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractor.h +++ b/library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractor.h @@ -188,13 +188,18 @@ namespace PolyVox typename VolumeType::VoxelType m_tBorderValue; }; - template, typename IndexType = DefaultIndexType > + template > + void extractCubicMesh(VolumeType* volData, Region region, MeshType* result, WrapMode eWrapMode = WrapModes::Border, typename VolumeType::VoxelType tBorderValue = typename VolumeType::VoxelType(), bool bMergeQuads = true, IsQuadNeeded isQuadNeeded = IsQuadNeeded()) + { + CubicSurfaceExtractor extractor(volData, region, result, eWrapMode, tBorderValue, bMergeQuads, isQuadNeeded); + extractor.execute(); + } + + template > Mesh > extractCubicMesh(VolumeType* volData, Region region, WrapMode eWrapMode = WrapModes::Border, typename VolumeType::VoxelType tBorderValue = typename VolumeType::VoxelType(), bool bMergeQuads = true, IsQuadNeeded isQuadNeeded = IsQuadNeeded()) { - typedef Mesh, IndexType > MeshType; - MeshType result; - CubicSurfaceExtractor extractor(volData, region, &result, eWrapMode, tBorderValue, bMergeQuads, isQuadNeeded); - extractor.execute(); + Mesh< CubicVertex > result; + extractCubicMesh(volData, region, &result, eWrapMode, tBorderValue, bMergeQuads, isQuadNeeded); return result; } } diff --git a/library/PolyVoxCore/include/PolyVoxCore/MarchingCubesSurfaceExtractor.h b/library/PolyVoxCore/include/PolyVoxCore/MarchingCubesSurfaceExtractor.h index 61909a41..3439e003 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/MarchingCubesSurfaceExtractor.h +++ b/library/PolyVoxCore/include/PolyVoxCore/MarchingCubesSurfaceExtractor.h @@ -345,7 +345,7 @@ namespace PolyVox template< typename VolumeType, typename ControllerType = DefaultMarchingCubesController > Mesh > extractMarchingCubesMesh(VolumeType* volData, Region region, ControllerType controller = ControllerType(), WrapMode eWrapMode = WrapModes::Border, typename VolumeType::VoxelType tBorderValue = typename VolumeType::VoxelType(), typename ControllerType::DensityType doNotUseThisParameter = typename ControllerType::DensityType()) { - Mesh, DefaultIndexType > result; + Mesh > result; extractMarchingCubesMesh, DefaultIndexType > >(volData, region, &result, controller, eWrapMode, tBorderValue); return result; }