Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __PolyVox_ForwardDeclarations_H__
00025 #define __PolyVox_ForwardDeclarations_H__
00026
00027 #include "PolyVoxImpl/TypeDef.h"
00028
00029 namespace PolyVox
00030 {
00031
00032 template<uint32_t dimensions, typename ElementType> class Array;
00033 typedef Array<1,float> Array1DFloat;
00034 typedef Array<1,double> Array1DDouble;
00035 typedef Array<1,int8_t> Array1DInt8;
00036 typedef Array<1,uint8_t> Array1DUint8;
00037 typedef Array<1,int16_t> Array1DInt16;
00038 typedef Array<1,uint16_t> Array1DUint16;
00039 typedef Array<1,int32_t> Array1DInt32;
00040 typedef Array<1,uint32_t> Array1DUint32;
00041
00042 typedef Array<2,float> Array2DFloat;
00043 typedef Array<2,double> Array2DDouble;
00044 typedef Array<2,int8_t> Array2DInt8;
00045 typedef Array<2,uint8_t> Array2DUint8;
00046 typedef Array<2,int16_t> Array2DInt16;
00047 typedef Array<2,uint16_t> Array2DUint16;
00048 typedef Array<2,int32_t> Array2DInt32;
00049 typedef Array<2,uint32_t> Array2DUint32;
00050
00051 typedef Array<3,float> Array3DFloat;
00052 typedef Array<3,double> Array3DDouble;
00053 typedef Array<3,int8_t> Array3DInt8;
00054 typedef Array<3,uint8_t> Array3DUint8;
00055 typedef Array<3,int16_t> Array3DInt16;
00056 typedef Array<3,uint16_t> Array3DUint16;
00057 typedef Array<3,int32_t> Array3DInt32;
00058 typedef Array<3,uint32_t> Array3DUint32;
00059
00060
00061 template <typename VoxelType> class Block;
00062
00063
00064 template <typename VoxelType> class LargeVolume;
00065
00066
00067
00068 template <typename Type> class Density;
00069 typedef Density<uint8_t> Density8;
00070 template <typename Type> class Material;
00071 typedef Material<uint8_t> Material8;
00072 typedef Material<uint16_t> Material16;
00073 typedef Material<uint32_t> Material32;
00074 template <typename Type, uint8_t NoOfMaterialBits, uint8_t NoOfDensityBits> class MaterialDensityPair;
00075 typedef MaterialDensityPair<uint8_t, 4, 4> MaterialDensityPair44;
00076
00077 template <typename VertexType> class SurfaceMesh;
00078 class Region;
00079 class PositionMaterial;
00080 class PositionMaterialNormal;
00081 template< template<typename> class VolumeType, typename VoxelType> class CubicSurfaceExtractor;
00082 template< template<typename> class VolumeType, typename VoxelType> class SurfaceExtractor;
00083
00084
00085 template <uint32_t Size, typename Type> class Vector;
00086 typedef Vector<3,float> Vector3DFloat;
00087 typedef Vector<3,double> Vector3DDouble;
00088 typedef Vector<3,int8_t> Vector3DInt8;
00089 typedef Vector<3,uint8_t> Vector3DUint8;
00090 typedef Vector<3,int16_t> Vector3DInt16;
00091 typedef Vector<3,uint16_t> Vector3DUint16;
00092 typedef Vector<3,int32_t> Vector3DInt32;
00093 typedef Vector<3,uint32_t> Vector3DUint32;
00094
00095
00096
00097 }
00098
00099 #endif