summaryrefslogtreecommitdiffstats
path: root/src/VoronoiMap.h
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2013-11-27 14:26:28 +0100
committermadmaxoft <github@xoft.cz>2013-11-27 14:26:28 +0100
commitac793df2ab14a2b98504d9ea49bc4abcee828052 (patch)
tree0f4e9651afb6f4039e6b37d98a5904ffa929c73d /src/VoronoiMap.h
parentFixed Win nightbuild scripts after folder moves. (diff)
downloadcuberite-ac793df2ab14a2b98504d9ea49bc4abcee828052.tar
cuberite-ac793df2ab14a2b98504d9ea49bc4abcee828052.tar.gz
cuberite-ac793df2ab14a2b98504d9ea49bc4abcee828052.tar.bz2
cuberite-ac793df2ab14a2b98504d9ea49bc4abcee828052.tar.lz
cuberite-ac793df2ab14a2b98504d9ea49bc4abcee828052.tar.xz
cuberite-ac793df2ab14a2b98504d9ea49bc4abcee828052.tar.zst
cuberite-ac793df2ab14a2b98504d9ea49bc4abcee828052.zip
Diffstat (limited to '')
-rw-r--r--src/VoronoiMap.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/VoronoiMap.h b/src/VoronoiMap.h
new file mode 100644
index 000000000..bcd37f9cf
--- /dev/null
+++ b/src/VoronoiMap.h
@@ -0,0 +1,45 @@
+
+// VoronoiMap.h
+
+// Declares the cVoronoiMap class that implements a Voronoi algorithm over a noise to produce a map
+
+
+
+
+
+#pragma once
+
+#include "Noise.h"
+
+
+
+
+
+class cVoronoiMap
+{
+public:
+ cVoronoiMap(int a_Seed, int a_CellSize = 128);
+
+ /// Sets the cell size used for generating the Voronoi seeds
+ void SetCellSize(int a_CellSize);
+
+ /// Returns the value in the cell into which the specified point lies
+ int GetValueAt(int a_X, int a_Y);
+
+ /// 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
+ 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;
+
+ /// Size of the Voronoi cells (avg X/Y distance between the seeds)
+ int m_CellSize;
+} ;
+
+
+
+