Another code dump which was supposed to be a feature branch... having some Git issues at the moment.

This commit is contained in:
David Williams
2012-11-24 00:32:29 +01:00
parent 989cd453fe
commit e56fd3ce4f
2 changed files with 97 additions and 111 deletions

View File

@ -54,18 +54,19 @@ namespace PolyVox
public:
static const Region MaxRegion;
static const Region InvertedRegion;
Region();
Region(const Vector3DInt32& v3dLowerCorner, const Vector3DInt32& v3dUpperCorner);
Region(int32_t iLowerX, int32_t iLowerY, int32_t iLowerZ, int32_t iUpperX, int32_t iUpperY, int32_t iUpperZ);
///Equality Operator.
/// Equality Operator.
bool operator==(const Region& rhs) const;
///Inequality Operator.
/// Inequality Operator.
bool operator!=(const Region& rhs) const;
const Vector3DInt32& getLowerCorner(void) const;
const Vector3DInt32& getUpperCorner(void) const;
Vector3DInt32 getLowerCorner(void) const;
Vector3DInt32 getUpperCorner(void) const;
/// Gets the width of the region measured in voxels
int32_t getWidthInVoxels(void) const;
@ -85,6 +86,8 @@ namespace PolyVox
/// Gets the dimensions of the region measured in cells
Vector3DInt32 getDimensionsInCells(void) const;
bool isValid(void);
void setLowerCorner(const Vector3DInt32& v3dLowerCorner);
void setUpperCorner(const Vector3DInt32& v3dUpperCorner);
@ -98,28 +101,20 @@ namespace PolyVox
bool containsPointInZ(float pos, float boundary = 0.0f) const;
bool containsPointInZ(int32_t pos, uint8_t boundary = 0) const;
void cropTo(const Region& other);
/// Deprecated and misleading
POLYVOX_DEPRECATED int32_t depth(void) const;
/// Deprecated and misleading
POLYVOX_DEPRECATED int32_t height(void) const;
void shift(const Vector3DInt32& amount);
void shiftLowerCorner(const Vector3DInt32& amount);
void shiftUpperCorner(const Vector3DInt32& amount);
//FIXME - Add dilate and erode functions?
/// Deprecated and misleading
POLYVOX_DEPRECATED Vector3DInt32 dimensions(void);
/// Deprecated and misleading
POLYVOX_DEPRECATED int32_t width(void) const;
private:
Vector3DInt32 m_v3dLowerCorner;
Vector3DInt32 m_v3dUpperCorner;
//FIXME - This variable is unused, but without it the OpenGL example crashes in release mode
//when the volume size is 128^3 and the level of detail is 2. Very strange, but consistant.
//Presubablly some kind of alignment issue? It started after this class was changed to use
//int16's rather than int32's. To be investigated.
uint8_t dummy;
int32_t m_iLowerX;
int32_t m_iLowerY;
int32_t m_iLowerZ;
int32_t m_iUpperX;
int32_t m_iUpperY;
int32_t m_iUpperZ;
};
}