Removed template aliases as they push GCC version up to 4.7, and we don't really *need* them.

This commit is contained in:
David Williams
2014-08-19 21:02:06 +02:00
parent 72f696652a
commit 349009c67e
4 changed files with 21 additions and 18 deletions

View File

@ -54,8 +54,9 @@ namespace PolyVox
};
// Convienient shorthand for declaring a mesh of 'cubic' vertices
template <typename VertexDataType, typename IndexType = DefaultIndexType>
using CubicMesh = Mesh< CubicVertex<VertexDataType>, IndexType >;
// Currently disabled because it requires GCC 4.7
//template <typename VertexDataType, typename IndexType = DefaultIndexType>
//using CubicMesh = Mesh< CubicVertex<VertexDataType>, IndexType >;
/// Decodes a position from a CubicVertex
inline Vector3DFloat decodePosition(const Vector3DUint8& encodedPosition)
@ -214,9 +215,9 @@ namespace PolyVox
/// Another scenario which sometimes results in confusion is when you wish to extract a region which corresponds to the whole volume, partcularly when solid voxels extend right to the edge of the volume.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
template<typename VolumeType, typename IsQuadNeeded = DefaultIsQuadNeeded<typename VolumeType::VoxelType> >
CubicMesh<typename VolumeType::VoxelType> extractCubicMesh(VolumeType* volData, Region region, IsQuadNeeded isQuadNeeded = IsQuadNeeded(), WrapMode eWrapMode = WrapModes::Border, typename VolumeType::VoxelType tBorderValue = typename VolumeType::VoxelType(), bool bMergeQuads = true)
Mesh<CubicVertex<typename VolumeType::VoxelType> > extractCubicMesh(VolumeType* volData, Region region, IsQuadNeeded isQuadNeeded = IsQuadNeeded(), WrapMode eWrapMode = WrapModes::Border, typename VolumeType::VoxelType tBorderValue = typename VolumeType::VoxelType(), bool bMergeQuads = true)
{
CubicMesh<typename VolumeType::VoxelType> result;
Mesh< CubicVertex<typename VolumeType::VoxelType> > result;
extractCubicMeshCustom(volData, region, &result, isQuadNeeded, eWrapMode, tBorderValue, bMergeQuads);
return result;
}

View File

@ -56,8 +56,9 @@ namespace PolyVox
};
// Convienient shorthand for declaring a mesh of marching cubes vertices
template <typename VertexDataType, typename IndexType = DefaultIndexType>
using MarchingCubesMesh = Mesh< MarchingCubesVertex<VertexDataType>, IndexType >;
// Currently disabled because it requires GCC 4.7
//template <typename VertexDataType, typename IndexType = DefaultIndexType>
//using MarchingCubesMesh = Mesh< MarchingCubesVertex<VertexDataType>, IndexType >;
/// Decodes a position from a MarchingCubesVertex
inline Vector3DFloat decodePosition(const Vector3DUint16& encodedPosition)
@ -344,10 +345,10 @@ namespace PolyVox
}
template< typename VolumeType, typename ControllerType = DefaultMarchingCubesController<typename VolumeType::VoxelType> >
MarchingCubesMesh<typename VolumeType::VoxelType> extractMarchingCubesMesh(VolumeType* volData, Region region, ControllerType controller = ControllerType(), WrapMode eWrapMode = WrapModes::Border, typename VolumeType::VoxelType tBorderValue = typename VolumeType::VoxelType())
Mesh<MarchingCubesVertex<typename VolumeType::VoxelType> > extractMarchingCubesMesh(VolumeType* volData, Region region, ControllerType controller = ControllerType(), WrapMode eWrapMode = WrapModes::Border, typename VolumeType::VoxelType tBorderValue = typename VolumeType::VoxelType())
{
MarchingCubesMesh<typename VolumeType::VoxelType> result;
extractMarchingCubesMeshCustom(volData, region, &result, controller, eWrapMode, tBorderValue);
Mesh<MarchingCubesVertex<typename VolumeType::VoxelType> > result;
extractMarchingCubesMeshCustom<VolumeType, Mesh<MarchingCubesVertex<typename VolumeType::VoxelType>, DefaultIndexType > >(volData, region, &result, controller, eWrapMode, tBorderValue);
return result;
}
}