Compile fixes for non-boost systems, mostly related to function and bind.
This commit is contained in:
@ -51,6 +51,11 @@ freely, subject to the following restrictions:
|
||||
#include <boost/functional/hash.hpp>
|
||||
#define polyvox_hash boost::hash
|
||||
|
||||
#include <boost/bind.hpp>
|
||||
#define polyvox_bind boost::bind
|
||||
#define polyvox_placeholder_1 _1
|
||||
#define polyvox_placeholder_2 _2
|
||||
|
||||
|
||||
//As long as we're requiring boost, we'll use it to compensate
|
||||
//for the missing cstdint header too.
|
||||
@ -68,6 +73,9 @@ freely, subject to the following restrictions:
|
||||
#include <memory>
|
||||
#define polyvox_shared_ptr std::shared_ptr
|
||||
#define polyvox_function std::function
|
||||
#define polyvox_bind std::bind
|
||||
#define polyvox_placeholder_1 std::placeholders::_1
|
||||
#define polyvox_placeholder_2 std::placeholders::_2
|
||||
#define polyvox_hash std::hash
|
||||
#endif
|
||||
|
||||
|
@ -151,14 +151,14 @@ namespace PolyVox
|
||||
/// gets called when a new region is allocated and needs to be filled
|
||||
/// NOTE: accessing ANY voxels outside this region during the process of this function
|
||||
/// is absolutely unsafe
|
||||
std::function<void(const Volume<VoxelType>&, Region)> m_LoadCallback;
|
||||
polyvox_function<void(const Volume<VoxelType>&, Region)> m_LoadCallback;
|
||||
/// this function can be called by m_LoadCallback without causing any weird effects
|
||||
bool load_setVoxelAt(int32_t uXPos, int32_t uYPos, int32_t uZPos, VoxelType tValue) const;
|
||||
/// gets called when a Region needs to be stored by the user, because Volume will erase it right after
|
||||
/// this function returns
|
||||
/// NOTE: accessing ANY voxels outside this region during the process of this function
|
||||
/// is absolutely unsafe
|
||||
std::function<void(const Volume<VoxelType>&, Region)> m_UnloadCallback;
|
||||
polyvox_function<void(const Volume<VoxelType>&, Region)> m_UnloadCallback;
|
||||
private:
|
||||
Block<VoxelType>* getUncompressedBlock(int32_t uBlockX, int32_t uBlockY, int32_t uBlockZ) const;
|
||||
void eraseBlock(typename std::map<Vector3DInt32, Block<VoxelType> >::iterator itBlock) const;
|
||||
|
Reference in New Issue
Block a user