Tidied up some forward declarations.

This commit is contained in:
unknown 2012-02-09 17:28:17 +01:00
parent 48a715664d
commit 7afe172244

View File

@ -28,8 +28,11 @@ freely, subject to the following restrictions:
namespace PolyVox namespace PolyVox
{ {
//---------- Array ---------- ////////////////////////////////////////////////////////////////////////////////
// Array
////////////////////////////////////////////////////////////////////////////////
template<uint32_t dimensions, typename ElementType> class Array; template<uint32_t dimensions, typename ElementType> class Array;
typedef Array<1,float> Array1DFloat; typedef Array<1,float> Array1DFloat;
typedef Array<1,double> Array1DDouble; typedef Array<1,double> Array1DDouble;
typedef Array<1,int8_t> Array1DInt8; typedef Array<1,int8_t> Array1DInt8;
@ -56,32 +59,86 @@ namespace PolyVox
typedef Array<3,uint16_t> Array3DUint16; typedef Array<3,uint16_t> Array3DUint16;
typedef Array<3,int32_t> Array3DInt32; typedef Array<3,int32_t> Array3DInt32;
typedef Array<3,uint32_t> Array3DUint32; typedef Array<3,uint32_t> Array3DUint32;
//---------------------------------
template <typename VoxelType> class Block; ////////////////////////////////////////////////////////////////////////////////
// CubicSurfaceExtractor
//---------- LargeVolume ---------- ////////////////////////////////////////////////////////////////////////////////
template <typename VoxelType> class LargeVolume;
//---------------------------------
template <typename Type> class Density;
typedef Density<uint8_t> Density8;
template <typename Type> class Material;
typedef Material<uint8_t> Material8;
typedef Material<uint16_t> Material16;
typedef Material<uint32_t> Material32;
template <typename Type, uint8_t NoOfMaterialBits, uint8_t NoOfDensityBits> class MaterialDensityPair;
typedef MaterialDensityPair<uint8_t, 4, 4> MaterialDensityPair44;
template <typename VertexType> class SurfaceMesh;
class Region;
class PositionMaterial;
class PositionMaterialNormal;
template< template<typename> class VolumeType, typename VoxelType> class CubicSurfaceExtractor; template< template<typename> class VolumeType, typename VoxelType> class CubicSurfaceExtractor;
////////////////////////////////////////////////////////////////////////////////
// Density
////////////////////////////////////////////////////////////////////////////////
template <typename Type> class Density;
typedef Density<int8_t> DensityI8;
typedef Density<uint8_t> DensityU8;
typedef Density<int16_t> DensityI16;
typedef Density<uint16_t> DensityU16;
typedef Density<float> DensityFloat;
typedef Density<double> DensityDouble;
typedef DensityU8 Density8; //Backwards compatibility
typedef DensityU16 Density16; //Backwards compatibility
////////////////////////////////////////////////////////////////////////////////
// LargeVolume
////////////////////////////////////////////////////////////////////////////////
template <typename VoxelType> class LargeVolume;
////////////////////////////////////////////////////////////////////////////////
// Material
////////////////////////////////////////////////////////////////////////////////
template <typename Type> class Material;
typedef Material<uint8_t> MaterialU8;
typedef Material<uint16_t> MaterialU16;
typedef Material<uint32_t> MaterialU32;
typedef MaterialU8 Material8;
typedef MaterialU16 Material16;
typedef MaterialU32 Material32;
////////////////////////////////////////////////////////////////////////////////
// MaterialDensityPair
////////////////////////////////////////////////////////////////////////////////
template <typename Type, uint8_t NoOfMaterialBits, uint8_t NoOfDensityBits> class MaterialDensityPair;
typedef MaterialDensityPair<uint8_t, 4, 4> MaterialDensityPair44;
typedef MaterialDensityPair<uint16_t, 8, 8> MaterialDensityPair88;
////////////////////////////////////////////////////////////////////////////////
// PositionMaterial
////////////////////////////////////////////////////////////////////////////////
class PositionMaterial;
////////////////////////////////////////////////////////////////////////////////
// PositionMaterialNormal
////////////////////////////////////////////////////////////////////////////////
class PositionMaterialNormal;
////////////////////////////////////////////////////////////////////////////////
// RawVolume
////////////////////////////////////////////////////////////////////////////////
template <typename VoxelType> class RawVolume;
////////////////////////////////////////////////////////////////////////////////
// Region
////////////////////////////////////////////////////////////////////////////////
class Region;
////////////////////////////////////////////////////////////////////////////////
// SurfaceExtractor
////////////////////////////////////////////////////////////////////////////////
template< template<typename> class VolumeType, typename VoxelType> class SurfaceExtractor; template< template<typename> class VolumeType, typename VoxelType> class SurfaceExtractor;
//---------- Vector ---------- ////////////////////////////////////////////////////////////////////////////////
// SurfaceMesh
////////////////////////////////////////////////////////////////////////////////
template <typename VertexType> class SurfaceMesh;
////////////////////////////////////////////////////////////////////////////////
// Vector
////////////////////////////////////////////////////////////////////////////////
template <uint32_t Size, typename Type> class Vector; template <uint32_t Size, typename Type> class Vector;
typedef Vector<3,float> Vector3DFloat; typedef Vector<3,float> Vector3DFloat;
typedef Vector<3,double> Vector3DDouble; typedef Vector<3,double> Vector3DDouble;
@ -91,9 +148,6 @@ namespace PolyVox
typedef Vector<3,uint16_t> Vector3DUint16; typedef Vector<3,uint16_t> Vector3DUint16;
typedef Vector<3,int32_t> Vector3DInt32; typedef Vector<3,int32_t> Vector3DInt32;
typedef Vector<3,uint32_t> Vector3DUint32; typedef Vector<3,uint32_t> Vector3DUint32;
//----------------------------
//template <typename VoxelType> class Sampler;
} }
#endif #endif