Work on generating surface patches on demand.
This commit is contained in:
@ -53,6 +53,8 @@ namespace PolyVox
|
||||
const bool isEmpty(void) const;
|
||||
|
||||
Vector3DInt32 m_v3dRegionPosition; //FIXME - remove this?
|
||||
|
||||
int32 m_iTimeStamp;
|
||||
|
||||
private:
|
||||
std::vector<uint32> m_vecTriangleIndices;
|
||||
|
@ -45,6 +45,8 @@ namespace PolyVox
|
||||
bool containsPoint(const Vector3DInt32& pos, uint8 boundary) const;
|
||||
void cropTo(const Region& other);
|
||||
void shift(const Vector3DInt32& amount);
|
||||
void shiftLowerCorner(const Vector3DInt32& amount);
|
||||
void shiftUpperCorner(const Vector3DInt32& amount);
|
||||
|
||||
private:
|
||||
Vector3DInt32 m_v3dLowerCorner;
|
||||
|
@ -41,13 +41,16 @@ namespace PolyVox
|
||||
|
||||
//Getters
|
||||
void getChangedRegions(std::list<Region>& listToFill) const;
|
||||
int32 getCurrentTime(void) const;
|
||||
Region getEnclosingRegion(void) const;
|
||||
int32 getLastModifiedTimeForRegion(uint16 uX, uint16 uY, uint16 uZ);
|
||||
uint16 getSideLength(void);
|
||||
BlockVolume<uint8>* getVolumeData(void) const;
|
||||
uint8 getVoxelAt(const Vector3DUint16& pos);
|
||||
uint8 getVoxelAt(uint16 uX, uint16 uY, uint16 uZ);
|
||||
|
||||
//Setters
|
||||
void setAllRegionsModified(void);
|
||||
void setAllRegionsUpToDate(bool newUpToDateValue);
|
||||
void setLockedVoxelAt(uint16 x, uint16 y, uint16 z, uint8 value);
|
||||
void setVolumeData(BlockVolume<uint8>* volumeDataToSet);
|
||||
@ -63,6 +66,9 @@ namespace PolyVox
|
||||
Region m_regLastLocked;
|
||||
BlockVolume<uint8>* volumeData;
|
||||
LinearVolume<bool>* volRegionUpToDate;
|
||||
LinearVolume<int32>* volRegionLastModified;
|
||||
|
||||
static int32 m_iCurrentTime;
|
||||
};
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user