aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs
diff options
context:
space:
mode:
authorDr Scofield2008-09-15 13:44:58 +0000
committerDr Scofield2008-09-15 13:44:58 +0000
commit0e2edbb5d4ce62697b4a9625cdaba63d97fac059 (patch)
treedcc516c465a90b99b220138d1467e55a218f1a4c /OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs
parent* Remove a hack I put into OGP so that I could test OGP over SSL with the See... (diff)
downloadopensim-SC_OLD-0e2edbb5d4ce62697b4a9625cdaba63d97fac059.zip
opensim-SC_OLD-0e2edbb5d4ce62697b4a9625cdaba63d97fac059.tar.gz
opensim-SC_OLD-0e2edbb5d4ce62697b4a9625cdaba63d97fac059.tar.bz2
opensim-SC_OLD-0e2edbb5d4ce62697b4a9625cdaba63d97fac059.tar.xz
From: mike pitman <pitman@us.ibm.com>
fixes the terrain spikes, and is the result of mostly a tuning operation on the smooth and flatten tools. I dug in and found that the spikes apparently result from smooth's overly aggressive iteration steps toward the average curvature, which leads to an instability that blows up the heights. I introduced a scaling factor to dampen the 'duration' parameter which tames progress and seems to keep things stable.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs3
1 files changed, 2 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs b/OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs
index 7bf88f0..e1d651b 100644
--- a/OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs
+++ b/OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs
@@ -42,6 +42,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain.PaintBrushes
42 42
43 double sum = 0.0; 43 double sum = 0.0;
44 double step2 = 0.0; 44 double step2 = 0.0;
45 double durationFactor = 0.15; //MCP: tuned, but would be nice to come from ini file
45 46
46 // compute delta map 47 // compute delta map
47 for (x = 0; x < map.Width; x++) 48 for (x = 0; x < map.Width; x++)
@@ -65,7 +66,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain.PaintBrushes
65 { 66 {
66 for (y = 0; y < map.Height; y++) 67 for (y = 0; y < map.Height; y++)
67 { 68 {
68 double z = TerrainUtil.SphericalFactor(x, y, rx, ry, strength) * duration; 69 double z = TerrainUtil.SphericalFactor(x, y, rx, ry, strength) * duration * durationFactor;
69 70
70 if (z > 0) // add in non-zero amount 71 if (z > 0) // add in non-zero amount
71 { 72 {