diff options
Diffstat (limited to 'bin/TerrainFilters/demofilter.cs')
-rw-r--r-- | bin/TerrainFilters/demofilter.cs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/bin/TerrainFilters/demofilter.cs b/bin/TerrainFilters/demofilter.cs new file mode 100644 index 0000000..1fdfc95 --- /dev/null +++ b/bin/TerrainFilters/demofilter.cs | |||
@@ -0,0 +1,50 @@ | |||
1 | using System; | ||
2 | using libTerrain; | ||
3 | using OpenSim.Terrain; | ||
4 | |||
5 | /// <summary> | ||
6 | /// A Demonstration Filter | ||
7 | /// </summary> | ||
8 | public class DemoFilter : ITerrainFilter | ||
9 | { | ||
10 | public void Filter(Channel heightmap, string[] args) | ||
11 | { | ||
12 | Console.WriteLine("Hello world"); | ||
13 | } | ||
14 | |||
15 | public string Register() | ||
16 | { | ||
17 | return "demofilter"; | ||
18 | } | ||
19 | |||
20 | public string Help() | ||
21 | { | ||
22 | return "demofilter - Does nothing\n"; | ||
23 | } | ||
24 | } | ||
25 | |||
26 | public class SineFilter : ITerrainFilter | ||
27 | { | ||
28 | public void Filter(Channel heightmap, string[] args) | ||
29 | { | ||
30 | double max = heightmap.findMax(); | ||
31 | |||
32 | for (int x = 0; x < heightmap.w; x++) | ||
33 | { | ||
34 | for (int y = 0; y < heightmap.h; y++) | ||
35 | { | ||
36 | heightmap.set(x,y,((Math.Sin(heightmap.get(x,y) * Convert.ToDouble(args[1])) + 1) / 2) * max); | ||
37 | } | ||
38 | } | ||
39 | } | ||
40 | |||
41 | public string Register() | ||
42 | { | ||
43 | return "sinefilter"; | ||
44 | } | ||
45 | |||
46 | public string Help() | ||
47 | { | ||
48 | return "sinefilter <theta> - Converts the heightmap to the functional output of a sine wave"; | ||
49 | } | ||
50 | } \ No newline at end of file | ||