diff options
author | madmaxoft <github@xoft.cz> | 2014-06-20 17:10:18 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-06-20 17:10:18 +0200 |
commit | 9db9445e9fec2ce0ab52434e50cc21f30d4ef313 (patch) | |
tree | 6dc2f036b912d2074b4277424c69bfc75f2d7468 /src/VoronoiMap.h | |
parent | Merge pull request #1112 from mc-server/danglingptrs (diff) | |
download | cuberite-9db9445e9fec2ce0ab52434e50cc21f30d4ef313.tar cuberite-9db9445e9fec2ce0ab52434e50cc21f30d4ef313.tar.gz cuberite-9db9445e9fec2ce0ab52434e50cc21f30d4ef313.tar.bz2 cuberite-9db9445e9fec2ce0ab52434e50cc21f30d4ef313.tar.lz cuberite-9db9445e9fec2ce0ab52434e50cc21f30d4ef313.tar.xz cuberite-9db9445e9fec2ce0ab52434e50cc21f30d4ef313.tar.zst cuberite-9db9445e9fec2ce0ab52434e50cc21f30d4ef313.zip |
Diffstat (limited to 'src/VoronoiMap.h')
-rw-r--r-- | src/VoronoiMap.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/VoronoiMap.h b/src/VoronoiMap.h index bcd37f9cf..84cf206e9 100644 --- a/src/VoronoiMap.h +++ b/src/VoronoiMap.h @@ -29,15 +29,34 @@ public: /// Returns the value in the cell into which the specified point lies, and the distance to the nearest Voronoi seed int GetValueAt(int a_X, int a_Y, int & a_MinDistance); - /// Returns the value in the cell into which the specified point lies, and the distances to the 2 nearest Voronoi seeds + /// Returns the value in the cell into which the specified point lies, and the distances to the 2 nearest Voronoi seeds. Uses a cache int GetValueAt(int a_X, int a_Y, int & a_MinDistance1, int & a_MinDistance2); - + protected: /// The noise used for generating Voronoi seeds - cNoise m_Noise; + cNoise m_Noise1; + cNoise m_Noise2; + cNoise m_Noise3; /// Size of the Voronoi cells (avg X/Y distance between the seeds) int m_CellSize; + + /** The X coordinate of the currently cached cell neighborhood */ + int m_CurrentCellX; + + /** The Z coordinate of the currently cached cell neighborhood */ + int m_CurrentCellZ; + + /** The seeds of cells around m_CurrentCellX, m_CurrentCellZ, X-coords */ + int m_SeedX[5][5]; + + /** The seeds of cells around m_CurrentCellX, m_CurrentCellZ, X-coords */ + int m_SeedZ[5][5]; + + + /** Updates the cached cell seeds to match the specified cell. Noop if cell pos already matches. + Updates m_SeedX and m_SeedZ. */ + void UpdateCell(int a_CellX, int a_CellZ); } ; |