Work on generating surface patches on demand.

This commit is contained in:
David Williams
2008-07-10 21:43:24 +00:00
parent 8b98d69d4e
commit f32616d5a9
6 changed files with 53 additions and 0 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;
};
}