Added comments and warnings.
This commit is contained in:
		| @@ -1,6 +1,8 @@ | ||||
| #ifndef __PolyVox_LargeVolume_H__ | ||||
| #define __PolyVox_LargeVolume_H__ | ||||
|  | ||||
| #pragma message("WARNING - The LargeVolume class has been replaced by PagedVolume. Please use that instead.") | ||||
|  | ||||
| #include "PagedVolume.h" | ||||
| #include "PolyVoxForwardDeclarations.h" | ||||
|  | ||||
|   | ||||
| @@ -118,6 +118,8 @@ namespace PolyVox | ||||
|  | ||||
| 		class Chunk | ||||
| 		{ | ||||
| 			friend class PagedVolume; | ||||
|  | ||||
| 		public: | ||||
| 			Chunk(Vector3DInt32 v3dPosition, uint16_t uSideLength, Pager* pPager = nullptr); | ||||
| 			~Chunk(); | ||||
| @@ -131,7 +133,7 @@ namespace PolyVox | ||||
| 			void setVoxelAt(uint16_t uXPos, uint16_t uYPos, uint16_t uZPos, VoxelType tValue); | ||||
| 			void setVoxelAt(const Vector3DUint16& v3dPos, VoxelType tValue); | ||||
|  | ||||
| 		public: | ||||
| 		private: | ||||
| 			/// Private copy constructor to prevent accisdental copying | ||||
| 			Chunk(const Chunk& /*rhs*/) {}; | ||||
|  | ||||
| @@ -152,6 +154,8 @@ namespace PolyVox | ||||
| 			uint16_t m_uSideLength; | ||||
| 			uint8_t m_uSideLengthPower; | ||||
| 			Pager* m_pPager; | ||||
|  | ||||
| 			// Note: Do we really need to store this position here as well as in the block maps? | ||||
| 			Vector3DInt32 m_v3dChunkSpacePosition; | ||||
| 		}; | ||||
|  | ||||
| @@ -300,9 +304,7 @@ namespace PolyVox | ||||
|  | ||||
| 	private: | ||||
|  | ||||
| 		typedef std::unordered_map<Vector3DInt32, std::shared_ptr< Chunk > > SharedPtrChunkMap; | ||||
| 		typedef std::unordered_map<Vector3DInt32, std::weak_ptr< Chunk > > WeakPtrChunkMap; | ||||
|  | ||||
| 		// FIXME - We can probably ove this into the constructor | ||||
| 		void initialise(); | ||||
|  | ||||
| 		// A trick to implement specialization of template member functions in template classes. See http://stackoverflow.com/a/4951057 | ||||
| @@ -328,6 +330,9 @@ namespace PolyVox | ||||
| 		// back in (not knowing the sampler still has it). This would result in two chunks in memory with the same position is space. | ||||
| 		// To avoid this, the 'all chunks' set tracks chunks with are used by the volume *and/or* the samplers. It holds weak pointers | ||||
| 		// so does not cause chunks to persist. | ||||
| 		// | ||||
| 		// TODO: Do we really need maps here? It means we are storing the chunk positions in the map, but they are also stored in the | ||||
| 		// chunks themselves (so they can be passed to the pager from the chunks destructor). Can we use a set here? What is a better approach? | ||||
| 		typedef std::unordered_map<Vector3DInt32, std::weak_ptr< Chunk > > WeakPtrChunkMap; | ||||
| 		mutable WeakPtrChunkMap m_pAllChunks; | ||||
| 		typedef std::unordered_map<Vector3DInt32, std::shared_ptr< Chunk > > SharedPtrChunkMap; | ||||
|   | ||||
| @@ -1,6 +1,8 @@ | ||||
| #ifndef __PolyVox_SimpleVolume_H__ | ||||
| #define __PolyVox_SimpleVolume_H__ | ||||
|  | ||||
| #pragma message("WARNING - The LargeVolume class has been replaced by PagedVolume. Please use that instead.") | ||||
|  | ||||
| #include "PagedVolume.h" | ||||
| #include "PolyVoxForwardDeclarations.h" | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user