diff --git a/library/PolyVoxCore/include/PolyVoxCore/PolyVoxForwardDeclarations.h b/library/PolyVoxCore/include/PolyVoxCore/PolyVoxForwardDeclarations.h index 83b9b4df..8bca21ff 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/PolyVoxForwardDeclarations.h +++ b/library/PolyVoxCore/include/PolyVoxCore/PolyVoxForwardDeclarations.h @@ -28,10 +28,13 @@ freely, subject to the following restrictions: namespace PolyVox { - //---------- Array ---------- + //////////////////////////////////////////////////////////////////////////////// + // Array + //////////////////////////////////////////////////////////////////////////////// template class Array; + typedef Array<1,float> Array1DFloat; - typedef Array<1,double> Array1DDouble; + typedef Array<1,double> Array1DDouble; typedef Array<1,int8_t> Array1DInt8; typedef Array<1,uint8_t> Array1DUint8; typedef Array<1,int16_t> Array1DInt16; @@ -40,7 +43,7 @@ namespace PolyVox typedef Array<1,uint32_t> Array1DUint32; typedef Array<2,float> Array2DFloat; - typedef Array<2,double> Array2DDouble; + typedef Array<2,double> Array2DDouble; typedef Array<2,int8_t> Array2DInt8; typedef Array<2,uint8_t> Array2DUint8; typedef Array<2,int16_t> Array2DInt16; @@ -49,51 +52,102 @@ namespace PolyVox typedef Array<2,uint32_t> Array2DUint32; typedef Array<3,float> Array3DFloat; - typedef Array<3,double> Array3DDouble; + typedef Array<3,double> Array3DDouble; typedef Array<3,int8_t> Array3DInt8; typedef Array<3,uint8_t> Array3DUint8; typedef Array<3,int16_t> Array3DInt16; typedef Array<3,uint16_t> Array3DUint16; typedef Array<3,int32_t> Array3DInt32; typedef Array<3,uint32_t> Array3DUint32; - //--------------------------------- - template class Block; - - //---------- LargeVolume ---------- - template class LargeVolume; - //--------------------------------- - - - template class Density; - typedef Density Density8; - template class Material; - typedef Material Material8; - typedef Material Material16; - typedef Material Material32; - template class MaterialDensityPair; - typedef MaterialDensityPair MaterialDensityPair44; - - template class SurfaceMesh; - class Region; - class PositionMaterial; - class PositionMaterialNormal; + //////////////////////////////////////////////////////////////////////////////// + // CubicSurfaceExtractor + //////////////////////////////////////////////////////////////////////////////// template< template class VolumeType, typename VoxelType> class CubicSurfaceExtractor; + + //////////////////////////////////////////////////////////////////////////////// + // Density + //////////////////////////////////////////////////////////////////////////////// + template class Density; + + typedef Density DensityI8; + typedef Density DensityU8; + typedef Density DensityI16; + typedef Density DensityU16; + typedef Density DensityFloat; + typedef Density DensityDouble; + + typedef DensityU8 Density8; //Backwards compatibility + typedef DensityU16 Density16; //Backwards compatibility + + //////////////////////////////////////////////////////////////////////////////// + // LargeVolume + //////////////////////////////////////////////////////////////////////////////// + template class LargeVolume; + + //////////////////////////////////////////////////////////////////////////////// + // Material + //////////////////////////////////////////////////////////////////////////////// + template class Material; + + typedef Material MaterialU8; + typedef Material MaterialU16; + typedef Material MaterialU32; + + typedef MaterialU8 Material8; + typedef MaterialU16 Material16; + typedef MaterialU32 Material32; + + //////////////////////////////////////////////////////////////////////////////// + // MaterialDensityPair + //////////////////////////////////////////////////////////////////////////////// + template class MaterialDensityPair; + + typedef MaterialDensityPair MaterialDensityPair44; + typedef MaterialDensityPair MaterialDensityPair88; + + //////////////////////////////////////////////////////////////////////////////// + // PositionMaterial + //////////////////////////////////////////////////////////////////////////////// + class PositionMaterial; + + //////////////////////////////////////////////////////////////////////////////// + // PositionMaterialNormal + //////////////////////////////////////////////////////////////////////////////// + class PositionMaterialNormal; + + //////////////////////////////////////////////////////////////////////////////// + // RawVolume + //////////////////////////////////////////////////////////////////////////////// + template class RawVolume; + + //////////////////////////////////////////////////////////////////////////////// + // Region + //////////////////////////////////////////////////////////////////////////////// + class Region; + + //////////////////////////////////////////////////////////////////////////////// + // SurfaceExtractor + //////////////////////////////////////////////////////////////////////////////// template< template class VolumeType, typename VoxelType> class SurfaceExtractor; - //---------- Vector ---------- + //////////////////////////////////////////////////////////////////////////////// + // SurfaceMesh + //////////////////////////////////////////////////////////////////////////////// + template class SurfaceMesh; + + //////////////////////////////////////////////////////////////////////////////// + // Vector + //////////////////////////////////////////////////////////////////////////////// template class Vector; typedef Vector<3,float> Vector3DFloat; - typedef Vector<3,double> Vector3DDouble; + typedef Vector<3,double> Vector3DDouble; typedef Vector<3,int8_t> Vector3DInt8; typedef Vector<3,uint8_t> Vector3DUint8; typedef Vector<3,int16_t> Vector3DInt16; typedef Vector<3,uint16_t> Vector3DUint16; typedef Vector<3,int32_t> Vector3DInt32; typedef Vector<3,uint32_t> Vector3DUint32; - //---------------------------- - - //template class Sampler; } #endif