diff options
author | Adam Frisby | 2007-04-07 17:30:11 +0000 |
---|---|---|
committer | Adam Frisby | 2007-04-07 17:30:11 +0000 |
commit | c070d2bbf3eca682166d9e1875aff194c61c3154 (patch) | |
tree | fa88ec114052d660efe30b6cfbecd86007b65154 /OpenSim.Terrain.BasicTerrain | |
parent | Terrain can now import from a specially formatted file. (diff) | |
download | opensim-SC-c070d2bbf3eca682166d9e1875aff194c61c3154.zip opensim-SC-c070d2bbf3eca682166d9e1875aff194c61c3154.tar.gz opensim-SC-c070d2bbf3eca682166d9e1875aff194c61c3154.tar.bz2 opensim-SC-c070d2bbf3eca682166d9e1875aff194c61c3154.tar.xz |
ZOMG Comments!
Diffstat (limited to 'OpenSim.Terrain.BasicTerrain')
-rw-r--r-- | OpenSim.Terrain.BasicTerrain/Normalise.cs | 19 | ||||
-rw-r--r-- | OpenSim.Terrain.BasicTerrain/TerrainEngine.cs | 20 |
2 files changed, 39 insertions, 0 deletions
diff --git a/OpenSim.Terrain.BasicTerrain/Normalise.cs b/OpenSim.Terrain.BasicTerrain/Normalise.cs index 507795b..0d37f44 100644 --- a/OpenSim.Terrain.BasicTerrain/Normalise.cs +++ b/OpenSim.Terrain.BasicTerrain/Normalise.cs | |||
@@ -6,6 +6,10 @@ namespace OpenSim.Terrain.BasicTerrain | |||
6 | { | 6 | { |
7 | static class Normalise | 7 | static class Normalise |
8 | { | 8 | { |
9 | /// <summary> | ||
10 | /// Converts the heightmap to values ranging from 0..1 | ||
11 | /// </summary> | ||
12 | /// <param name="map">The heightmap to be normalised</param> | ||
9 | public static void normalise(float[,] map) | 13 | public static void normalise(float[,] map) |
10 | { | 14 | { |
11 | double max = findMax(map); | 15 | double max = findMax(map); |
@@ -24,6 +28,11 @@ namespace OpenSim.Terrain.BasicTerrain | |||
24 | } | 28 | } |
25 | } | 29 | } |
26 | 30 | ||
31 | /// <summary> | ||
32 | /// Converts the heightmap to values ranging from 0..<newmax> | ||
33 | /// </summary> | ||
34 | /// <param name="map">The heightmap to be normalised</param> | ||
35 | /// <param name="newmax">The new maximum height value of the map</param> | ||
27 | public static void normalise(float[,] map, double newmax) | 36 | public static void normalise(float[,] map, double newmax) |
28 | { | 37 | { |
29 | double max = findMax(map); | 38 | double max = findMax(map); |
@@ -42,6 +51,11 @@ namespace OpenSim.Terrain.BasicTerrain | |||
42 | } | 51 | } |
43 | } | 52 | } |
44 | 53 | ||
54 | /// <summary> | ||
55 | /// Finds the largest value in the heightmap | ||
56 | /// </summary> | ||
57 | /// <param name="map">The heightmap</param> | ||
58 | /// <returns>The highest value</returns> | ||
45 | public static double findMax(float[,] map) | 59 | public static double findMax(float[,] map) |
46 | { | 60 | { |
47 | int x, y; | 61 | int x, y; |
@@ -61,6 +75,11 @@ namespace OpenSim.Terrain.BasicTerrain | |||
61 | return max; | 75 | return max; |
62 | } | 76 | } |
63 | 77 | ||
78 | /// <summary> | ||
79 | /// Finds the lowest value in a heightmap | ||
80 | /// </summary> | ||
81 | /// <param name="map">The heightmap</param> | ||
82 | /// <returns>The minimum value</returns> | ||
64 | public static double findMin(float[,] map) | 83 | public static double findMin(float[,] map) |
65 | { | 84 | { |
66 | int x, y; | 85 | int x, y; |
diff --git a/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs b/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs index 45da742..87dbf7e 100644 --- a/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs +++ b/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs | |||
@@ -7,10 +7,19 @@ namespace OpenSim.Terrain | |||
7 | { | 7 | { |
8 | public class TerrainEngine | 8 | public class TerrainEngine |
9 | { | 9 | { |
10 | /// <summary> | ||
11 | /// A [normally] 256x256 heightmap | ||
12 | /// </summary> | ||
10 | public float[,] map; | 13 | public float[,] map; |
14 | /// <summary> | ||
15 | /// A 256x256 heightmap storing water height values | ||
16 | /// </summary> | ||
11 | public float[,] water; | 17 | public float[,] water; |
12 | int w, h; | 18 | int w, h; |
13 | 19 | ||
20 | /// <summary> | ||
21 | /// Generate a new TerrainEngine instance and creates a new heightmap | ||
22 | /// </summary> | ||
14 | public TerrainEngine() | 23 | public TerrainEngine() |
15 | { | 24 | { |
16 | w = 256; | 25 | w = 256; |
@@ -90,6 +99,14 @@ namespace OpenSim.Terrain | |||
90 | RaiseLower.raiseSphere(this.map, rx, ry, size, amount); | 99 | RaiseLower.raiseSphere(this.map, rx, ry, size, amount); |
91 | } | 100 | } |
92 | } | 101 | } |
102 | |||
103 | /// <summary> | ||
104 | /// Lowers the land in a sphere around the specified coordinates | ||
105 | /// </summary> | ||
106 | /// <param name="rx">The center of the sphere at the X axis</param> | ||
107 | /// <param name="ry">The center of the sphere at the Y axis</param> | ||
108 | /// <param name="size">The radius of the sphere in meters</param> | ||
109 | /// <param name="amount">Scale the height of the sphere by this amount (recommended 0..2)</param> | ||
93 | public void lower(double rx, double ry, double size, double amount) | 110 | public void lower(double rx, double ry, double size, double amount) |
94 | { | 111 | { |
95 | lock (map) | 112 | lock (map) |
@@ -98,6 +115,9 @@ namespace OpenSim.Terrain | |||
98 | } | 115 | } |
99 | } | 116 | } |
100 | 117 | ||
118 | /// <summary> | ||
119 | /// Generates a simple set of hills in the shape of an island | ||
120 | /// </summary> | ||
101 | public void hills() | 121 | public void hills() |
102 | { | 122 | { |
103 | lock (map) | 123 | lock (map) |