More work refactoring basic voxel types.

This commit is contained in:
David Williams
2012-01-24 15:17:43 +01:00
parent 21ce252e1e
commit b4f7ac4f46
7 changed files with 142 additions and 50 deletions

View File

@ -27,33 +27,62 @@ freely, subject to the following restrictions:
namespace PolyVox
{
//const typename Density8::DensityType VoxelTypeTraits< Density8 >::MinDensity = 0;
//const typename Density8::DensityType VoxelTypeTraits< Density8 >::MaxDensity = 255;
const typename DensityI8::DensityType VoxelTypeTraits< DensityI8 >::MinDensity = -127;
const typename DensityI8::DensityType VoxelTypeTraits< DensityI8 >::MaxDensity = 127;
const typename DensityU8::DensityType VoxelTypeTraits< DensityU8 >::MinDensity = 0;
const typename DensityU8::DensityType VoxelTypeTraits< DensityU8 >::MaxDensity = 255;
//const typename Density16::DensityType VoxelTypeTraits< Density16 >::MinDensity = 0;
//const typename Density16::DensityType VoxelTypeTraits< Density16 >::MaxDensity = 65535;
const typename DensityI16::DensityType VoxelTypeTraits< DensityI16 >::MinDensity = -32767;
const typename DensityI16::DensityType VoxelTypeTraits< DensityI16 >::MaxDensity = 32767;
const typename DensityU16::DensityType VoxelTypeTraits< DensityU16 >::MinDensity = 0;
const typename DensityU16::DensityType VoxelTypeTraits< DensityU16 >::MaxDensity = 65535;
const typename DensityFloat::DensityType VoxelTypeTraits< DensityFloat >::MinDensity = FLT_MIN;
const typename DensityFloat::DensityType VoxelTypeTraits< DensityFloat >::MaxDensity = FLT_MAX;
const typename DensityDouble::DensityType VoxelTypeTraits< DensityDouble >::MinDensity = DBL_MIN;
const typename DensityDouble::DensityType VoxelTypeTraits< DensityDouble >::MaxDensity = DBL_MAX;
//template<>
//const typename DensityI8::DensityType VoxelTypeTraits< DensityI8 >::MinDensity = -127;
//template<>
//const typename DensityI8::DensityType VoxelTypeTraits< DensityI8 >::MaxDensity = 127;
//template<>
//const typename DensityU8::DensityType VoxelTypeTraits< DensityU8 >::MinDensity = 0;
//template<>
//const typename DensityU8::DensityType VoxelTypeTraits< DensityU8 >::MaxDensity = 255;
/*template<>
const uint8_t VoxelTypeTraits< Density8 >::MinDensity = 0;
template<>
const int8_t VoxelTypeTraits< Density<int8_t> >::MinDensity = -127;
template<>
const int8_t VoxelTypeTraits< Density<int8_t> >::MaxDensity = 127;
const uint8_t VoxelTypeTraits< Density8 >::MaxDensity = 255;
template<>
const uint8_t VoxelTypeTraits< Density<uint8_t> >::MinDensity = 0;
const int16_t VoxelTypeTraits< DensityI16 >::MinDensity = -32767;
template<>
const uint8_t VoxelTypeTraits< Density<uint8_t> >::MaxDensity = 255;
const int16_t VoxelTypeTraits< DensityI16 >::MaxDensity = 32767;
template<>
const int16_t VoxelTypeTraits< Density<int16_t> >::MinDensity = -32767;
const uint16_t VoxelTypeTraits< Density16 >::MinDensity = 0;
template<>
const int16_t VoxelTypeTraits< Density<int16_t> >::MaxDensity = 32767;
const uint16_t VoxelTypeTraits< Density16 >::MaxDensity = 65535;
template<>
const uint16_t VoxelTypeTraits< Density<uint16_t> >::MinDensity = 0;
const float VoxelTypeTraits< DensityFloat >::MinDensity = FLT_MIN;
template<>
const uint16_t VoxelTypeTraits< Density<uint16_t> >::MaxDensity = 65535;
template<>
const float VoxelTypeTraits< Density<float> >::MinDensity = FLT_MIN;
template<>
const float VoxelTypeTraits< Density<float> >::MaxDensity = FLT_MAX;
const float VoxelTypeTraits< DensityFloat >::MaxDensity = FLT_MAX;
template<>
const double VoxelTypeTraits< Density<double> >::MinDensity = DBL_MIN;
const double VoxelTypeTraits< DensityDouble >::MinDensity = DBL_MIN;
template<>
const double VoxelTypeTraits< Density<double> >::MaxDensity = DBL_MAX;
const double VoxelTypeTraits< DensityDouble >::MaxDensity = DBL_MAX;*/
}

View File

@ -25,13 +25,9 @@ freely, subject to the following restrictions:
namespace PolyVox
{
//template<typename Type, uint8_t NoOfMaterialBits, uint8_t NoOfDensityBits>
//const Type VoxelTypeTraits< MaterialDensityPair<Type, NoOfMaterialBits, NoOfDensityBits> >::MinDensity = 0;
//template<typename Type, uint8_t NoOfMaterialBits, uint8_t NoOfDensityBits>
//const Type VoxelTypeTraits< Type >::MaxDensity = (0x01 << NoOfDensityBits) - 1;
const typename MaterialDensityPair44::DensityType VoxelTypeTraits< MaterialDensityPair44 >::MinDensity = 0;
const typename MaterialDensityPair44::DensityType VoxelTypeTraits< MaterialDensityPair44 >::MaxDensity = 15;
template<>
const uint8_t VoxelTypeTraits< MaterialDensityPair44 >::MinDensity = 0;
template<>
const uint8_t VoxelTypeTraits< MaterialDensityPair44 >::MaxDensity = 15;
const typename MaterialDensityPair88::DensityType VoxelTypeTraits< MaterialDensityPair88 >::MinDensity = 0;
const typename MaterialDensityPair88::DensityType VoxelTypeTraits< MaterialDensityPair88 >::MaxDensity = 255;
}

View File

@ -26,7 +26,7 @@ freely, subject to the following restrictions:
namespace PolyVox
{
template<typename Type>
const typename Type::DensityType VoxelTypeTraits<Type>::MinDensity = 0;
const Type VoxelTypeTraits<Type>::MinDensity = 0;
template<typename Type>
const typename Type::DensityType VoxelTypeTraits<Type>::MaxDensity = 0;
const Type VoxelTypeTraits<Type>::MaxDensity = 0;
}