From 099c5c7fbf8d51fe67f4826bc93b98e12e5d43b6 Mon Sep 17 00:00:00 2001 From: David Williams Date: Sun, 9 Aug 2009 14:37:43 +0000 Subject: [PATCH] Work on volume resource loading. --- library/PolyVoxUtil/include/Serialization.h | 4 ++-- library/PolyVoxUtil/source/Serialization.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/library/PolyVoxUtil/include/Serialization.h b/library/PolyVoxUtil/include/Serialization.h index 27613d4b..6459f96e 100644 --- a/library/PolyVoxUtil/include/Serialization.h +++ b/library/PolyVoxUtil/include/Serialization.h @@ -36,10 +36,10 @@ namespace PolyVox virtual void onProgressUpdated(float fProgress) = 0; }; - POLYVOXUTIL_API Volume* loadVolumeRaw(std::istream& stream, VolumeSerializationProgressListener* progressListener = 0); + POLYVOXUTIL_API POLYVOX_SHARED_PTR< Volume > loadVolumeRaw(std::istream& stream, VolumeSerializationProgressListener* progressListener = 0); POLYVOXUTIL_API void saveVolumeRaw(std::ostream& stream, Volume& volume, VolumeSerializationProgressListener* progressListener = 0); - POLYVOXUTIL_API Volume* loadVolumeRle(std::istream& stream, VolumeSerializationProgressListener* progressListener = 0); + POLYVOXUTIL_API POLYVOX_SHARED_PTR< Volume > loadVolumeRle(std::istream& stream, VolumeSerializationProgressListener* progressListener = 0); POLYVOXUTIL_API void saveVolumeRle(std::ostream& stream, Volume& volume, VolumeSerializationProgressListener* progressListener = 0); } diff --git a/library/PolyVoxUtil/source/Serialization.cpp b/library/PolyVoxUtil/source/Serialization.cpp index 1a0b2d84..8b3d13f3 100644 --- a/library/PolyVoxUtil/source/Serialization.cpp +++ b/library/PolyVoxUtil/source/Serialization.cpp @@ -10,7 +10,7 @@ namespace PolyVox { //Note: we don't do much error handling in here - exceptions will simply be propergated up to the caller. //FIXME - think about pointer ownership issues. Or could return volume by value if the copy constructor is shallow - Volume* loadVolumeRaw(istream& stream, VolumeSerializationProgressListener* progressListener) + POLYVOX_SHARED_PTR< Volume > loadVolumeRaw(istream& stream, VolumeSerializationProgressListener* progressListener) { //Read volume dimensions uint8_t volumeWidthPower = 0; @@ -25,7 +25,7 @@ namespace PolyVox uint16_t volumeDepth = 0x0001 << volumeDepthPower; //FIXME - need to support non cubic volumes - Volume* volume = new Volume(volumeWidth, volumeHeight, volumeDepth); + POLYVOX_SHARED_PTR< Volume > volume(new Volume(volumeWidth, volumeHeight, volumeDepth)); //Read data for(uint16_t z = 0; z < volumeDepth; ++z) @@ -104,7 +104,7 @@ namespace PolyVox //Note: we don't do much error handling in here - exceptions will simply be propergated up to the caller. //FIXME - think about pointer ownership issues. Or could return volume by value if the copy constructor is shallow - Volume* loadVolumeRle(istream& stream, VolumeSerializationProgressListener* progressListener) + POLYVOX_SHARED_PTR< Volume > loadVolumeRle(istream& stream, VolumeSerializationProgressListener* progressListener) { //Read volume dimensions uint8_t volumeWidthPower = 0; @@ -119,7 +119,7 @@ namespace PolyVox uint16_t volumeDepth = 0x0001 << volumeDepthPower; //FIXME - need to support non cubic volumes - Volume* volume = new Volume(volumeWidth, volumeHeight, volumeDepth); + POLYVOX_SHARED_PTR< Volume > volume(new Volume(volumeWidth, volumeHeight, volumeDepth)); //Read data bool firstTime = true;