mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 20:05:33 +08:00
* Fixed a potential div by zero with terrain commands.
This commit is contained in:
@@ -65,6 +65,12 @@ namespace libTerrain
|
|||||||
{
|
{
|
||||||
SetDiff();
|
SetDiff();
|
||||||
|
|
||||||
|
if (minv == maxv)
|
||||||
|
{
|
||||||
|
Fill(minv);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
double max = FindMax();
|
double max = FindMax();
|
||||||
double min = FindMin();
|
double min = FindMin();
|
||||||
|
|
||||||
@@ -74,11 +80,18 @@ namespace libTerrain
|
|||||||
{
|
{
|
||||||
for (y = 0; y < h; y++)
|
for (y = 0; y < h; y++)
|
||||||
{
|
{
|
||||||
double val = (map[x, y] - min) * (1.0 / max - min);
|
if (min != max)
|
||||||
val *= maxv - minv;
|
{
|
||||||
val += minv;
|
double val = (map[x, y] - min) * (1.0 / max - min);
|
||||||
|
val *= maxv - minv;
|
||||||
|
val += minv;
|
||||||
|
|
||||||
map[x, y] = val;
|
map[x, y] = val;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
map[x, y] = 0.5;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user