Merge branch 'develop' into feature/cubiquity-version
This commit is contained in:
commit
2d6bb91d96
@ -48,7 +48,12 @@ freely, subject to the following restrictions:
|
|||||||
|
|
||||||
// Macros cannot contain #ifdefs, but some of our macros need to disable warnings and such warning supression is
|
// Macros cannot contain #ifdefs, but some of our macros need to disable warnings and such warning supression is
|
||||||
// platform specific. But macros can contain other macros, so we create macros to control the warnings and use
|
// platform specific. But macros can contain other macros, so we create macros to control the warnings and use
|
||||||
// those instead. This set of warning supression macros can be extended to GCC/Clang when required.
|
// those instead.
|
||||||
|
//
|
||||||
|
// Note that we have seperate macros for POLYVOX_MSC_..., POLYVOX_GCC_..., etc. In princpiple we could have just one
|
||||||
|
// as compilers should ignore pragmas they don't recognise, but in practice at least MSVC complains about this as
|
||||||
|
// well. So in practice it's just eaier to have seperate macros. We could look into the compiler switch to not warn
|
||||||
|
// on unrecognised pragmas though.
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
#define POLYVOX_MSC_WARNING_PUSH __pragma(warning(push))
|
#define POLYVOX_MSC_WARNING_PUSH __pragma(warning(push))
|
||||||
#define POLYVOX_DISABLE_MSC_WARNING(x) __pragma(warning(disable:x))
|
#define POLYVOX_DISABLE_MSC_WARNING(x) __pragma(warning(disable:x))
|
||||||
@ -59,6 +64,16 @@ freely, subject to the following restrictions:
|
|||||||
#define POLYVOX_MSC_WARNING_POP
|
#define POLYVOX_MSC_WARNING_POP
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__GNUC__)
|
||||||
|
#define POLYVOX_GCC_WARNING_PUSH #pragma GCC diagnostic push
|
||||||
|
#define POLYVOX_DISABLE_GCC_WARNING(x) #pragma GCC diagnostic ignored x
|
||||||
|
#define POLYVOX_GCC_WARNING_POP #pragma GCC diagnostic pop
|
||||||
|
#else
|
||||||
|
#define POLYVOX_GCC_WARNING_PUSH
|
||||||
|
#define POLYVOX_DISABLE_GCC_WARNING(x)
|
||||||
|
#define POLYVOX_GCC_WARNING_POP
|
||||||
|
#endif
|
||||||
|
|
||||||
#define POLYVOX_UNUSED(x) do { (void)sizeof(x); } while(0)
|
#define POLYVOX_UNUSED(x) do { (void)sizeof(x); } while(0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -75,8 +75,31 @@ namespace PolyVox
|
|||||||
Type getDensity() const { return m_uDensity; }
|
Type getDensity() const { return m_uDensity; }
|
||||||
Type getMaterial() const { return m_uMaterial; }
|
Type getMaterial() const { return m_uMaterial; }
|
||||||
|
|
||||||
void setDensity(Type uDensity) { m_uDensity = uDensity; }
|
void setDensity(Type uDensity)
|
||||||
void setMaterial(Type uMaterial) { m_uMaterial = uMaterial; }
|
{
|
||||||
|
// Depending on our underlying type it may be impossible for the assert below to be triggered (i.e. if density is stored as
|
||||||
|
// Type, rather than just using a few bits of Type). GCC will warn about this but it's redundant so we diable the warning.
|
||||||
|
POLYVOX_GCC_WARNING_PUSH
|
||||||
|
POLYVOX_DISABLE_GCC_WARNING("-Wtype-limits")
|
||||||
|
POLYVOX_ASSERT(uDensity >= getMinDensity(), "Density out of range");
|
||||||
|
POLYVOX_ASSERT(uDensity <= getMaxDensity(), "Density out of range");
|
||||||
|
POLYVOX_GCC_WARNING_POP
|
||||||
|
|
||||||
|
m_uDensity = uDensity;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setMaterial(Type uMaterial)
|
||||||
|
{
|
||||||
|
// Depending on our underlying type it may be impossible for the assert below to be triggered (i.e. if material is stored as
|
||||||
|
// Type, rather than just using a few bits of Type). GCC will warn about this but it's redundant so we diable the warning.
|
||||||
|
POLYVOX_GCC_WARNING_PUSH
|
||||||
|
POLYVOX_DISABLE_GCC_WARNING("-Wtype-limits")
|
||||||
|
POLYVOX_ASSERT(uMaterial >= 0, "Material out of range");
|
||||||
|
POLYVOX_ASSERT(uMaterial <= (0x01 << NoOfMaterialBits) - 1, "Material out of range");
|
||||||
|
POLYVOX_GCC_WARNING_POP
|
||||||
|
|
||||||
|
m_uMaterial = uMaterial;
|
||||||
|
}
|
||||||
|
|
||||||
static Type getMaxDensity() { return (0x01 << NoOfDensityBits) - 1; }
|
static Type getMaxDensity() { return (0x01 << NoOfDensityBits) - 1; }
|
||||||
static Type getMinDensity() { return 0; }
|
static Type getMinDensity() { return 0; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user