using System; using libTerrain; using OpenSim.Terrain; /// /// A Demonstration Filter /// public class DemoFilter : ITerrainFilter { public void Filter(Channel heightmap, string[] args) { Console.WriteLine("Hello world"); } public string Register() { return "demofilter"; } public string Help() { return "demofilter - Does nothing\n"; } } public class SineFilter : ITerrainFilter { public void Filter(Channel heightmap, string[] args) { double max = heightmap.findMax(); for (int x = 0; x < heightmap.w; x++) { for (int y = 0; y < heightmap.h; y++) { heightmap.set(x,y,((Math.Sin(heightmap.get(x,y) * Convert.ToDouble(args[1])) + 1) / 2) * max); } } } public string Register() { return "sinefilter"; } public string Help() { return "sinefilter - Converts the heightmap to the functional output of a sine wave"; } }