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_Serialization_H__
00025 #define __PolyVox_Serialization_H__
00026
00027 #include "PolyVoxImpl/Utility.h"
00028
00029 #include "PolyVoxCore/Region.h"
00030
00031 #include <iostream>
00032 #include <memory>
00033
00034 namespace PolyVox
00035 {
00036 class VolumeSerializationProgressListener
00037 {
00038 public:
00039 virtual void onProgressUpdated(float fProgress) = 0;
00040 };
00041
00043
00045 template< template<typename> class VolumeType, typename VoxelType>
00046 polyvox_shared_ptr< VolumeType<VoxelType> > loadVolumeRaw(std::istream& stream, VolumeSerializationProgressListener* progressListener = 0);
00047 template< template<typename> class VolumeType, typename VoxelType>
00048 void saveVolumeRaw(std::ostream& stream, VolumeType<VoxelType>& volume, VolumeSerializationProgressListener* progressListener = 0);
00049
00050 template< template<typename> class VolumeType, typename VoxelType>
00051 polyvox_shared_ptr< VolumeType<VoxelType> > loadVolumeRle(std::istream& stream, VolumeSerializationProgressListener* progressListener = 0);
00052 template< template<typename> class VolumeType, typename VoxelType>
00053 void saveVolumeRle(std::ostream& stream, VolumeType<VoxelType>& volume, VolumeSerializationProgressListener* progressListener = 0);
00054
00056
00058
00059 template< template<typename> class VolumeType, typename VoxelType>
00060 bool loadVolume(std::istream& stream, VolumeType<VoxelType>& volume, VolumeSerializationProgressListener* progressListener = 0);
00061 template< template<typename> class VolumeType, typename VoxelType>
00062 bool saveVolume(std::ostream& stream, VolumeType<VoxelType>& volume, VolumeSerializationProgressListener* progressListener = 0);
00063
00064 template< template<typename> class VolumeType, typename VoxelType>
00065 bool loadVersion0(std::istream& stream, VolumeType<VoxelType>& volume, VolumeSerializationProgressListener* progressListener = 0);
00066 template< template<typename> class VolumeType, typename VoxelType>
00067 bool saveVersion0(std::ostream& stream, VolumeType<VoxelType>& volume, VolumeSerializationProgressListener* progressListener = 0);
00068 }
00069
00070 #include "PolyVoxUtil/Serialization.inl"
00071
00072 #endif