Work on removing wrap modes.
This commit is contained in:
		@@ -259,23 +259,16 @@ namespace PolyVox
 | 
			
		||||
		~PagedVolume();
 | 
			
		||||
 | 
			
		||||
		/// Gets a voxel at the position given by <tt>x,y,z</tt> coordinates
 | 
			
		||||
		template <WrapMode eWrapMode>
 | 
			
		||||
		VoxelType getVoxel(int32_t uXPos, int32_t uYPos, int32_t uZPos, VoxelType tBorder = VoxelType()) const;
 | 
			
		||||
		VoxelType getVoxel(int32_t uXPos, int32_t uYPos, int32_t uZPos) const;
 | 
			
		||||
		/// Gets a voxel at the position given by a 3D vector
 | 
			
		||||
		template <WrapMode eWrapMode>
 | 
			
		||||
		VoxelType getVoxel(const Vector3DInt32& v3dPos, VoxelType tBorder = VoxelType()) const;
 | 
			
		||||
 | 
			
		||||
		/// Gets a voxel at the position given by <tt>x,y,z</tt> coordinates
 | 
			
		||||
		VoxelType getVoxel(int32_t uXPos, int32_t uYPos, int32_t uZPos, WrapMode eWrapMode = WrapModes::Validate, VoxelType tBorder = VoxelType()) const;
 | 
			
		||||
		/// Gets a voxel at the position given by a 3D vector
 | 
			
		||||
		VoxelType getVoxel(const Vector3DInt32& v3dPos, WrapMode eWrapMode = WrapModes::Validate, VoxelType tBorder = VoxelType()) const;
 | 
			
		||||
		VoxelType getVoxel(const Vector3DInt32& v3dPos) const;
 | 
			
		||||
 | 
			
		||||
		/// Sets the number of chunks for which uncompressed data is stored
 | 
			
		||||
		void setMemoryUsageLimit(uint32_t uMemoryUsageInBytes);
 | 
			
		||||
		/// Sets the voxel at the position given by <tt>x,y,z</tt> coordinates
 | 
			
		||||
		void setVoxel(int32_t uXPos, int32_t uYPos, int32_t uZPos, VoxelType tValue, WrapMode eWrapMode = WrapModes::Validate);
 | 
			
		||||
		void setVoxel(int32_t uXPos, int32_t uYPos, int32_t uZPos, VoxelType tValue);
 | 
			
		||||
		/// Sets the voxel at the position given by a 3D vector
 | 
			
		||||
		void setVoxel(const Vector3DInt32& v3dPos, VoxelType tValue, WrapMode eWrapMode = WrapModes::Validate);
 | 
			
		||||
		void setVoxel(const Vector3DInt32& v3dPos, VoxelType tValue);
 | 
			
		||||
 | 
			
		||||
		/// Tries to ensure that the voxels within the specified Region are loaded into memory.
 | 
			
		||||
		void prefetch(Region regPrefetch);
 | 
			
		||||
@@ -298,14 +291,6 @@ namespace PolyVox
 | 
			
		||||
 | 
			
		||||
		// 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
 | 
			
		||||
		template <WrapMode eWrapMode>
 | 
			
		||||
		VoxelType getVoxelImpl(int32_t uXPos, int32_t uYPos, int32_t uZPos, WrapModeType<eWrapMode>, VoxelType tBorder) const;
 | 
			
		||||
		VoxelType getVoxelImpl(int32_t uXPos, int32_t uYPos, int32_t uZPos, WrapModeType<WrapModes::Validate>, VoxelType tBorder) const;
 | 
			
		||||
		VoxelType getVoxelImpl(int32_t uXPos, int32_t uYPos, int32_t uZPos, WrapModeType<WrapModes::Clamp>, VoxelType tBorder) const;
 | 
			
		||||
		VoxelType getVoxelImpl(int32_t uXPos, int32_t uYPos, int32_t uZPos, WrapModeType<WrapModes::Border>, VoxelType tBorder) const;
 | 
			
		||||
		VoxelType getVoxelImpl(int32_t uXPos, int32_t uYPos, int32_t uZPos, WrapModeType<WrapModes::AssumeValid>, VoxelType tBorder) const;
 | 
			
		||||
	
 | 
			
		||||
		std::shared_ptr<Chunk> getChunk(int32_t uChunkX, int32_t uChunkY, int32_t uChunkZ) const;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user