aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
authorDahlia Trimble2008-07-06 17:18:59 +0000
committerDahlia Trimble2008-07-06 17:18:59 +0000
commitae468bfc9bda28f8450658ac391efd30ef4269c9 (patch)
tree5c57f52aec95d4afc483b9eb8ad285960c3dbda1 /OpenSim/Region/Physics
parent* In archiver, scan scripts for embedded asset uuids and save these out (diff)
downloadopensim-SC-ae468bfc9bda28f8450658ac391efd30ef4269c9.zip
opensim-SC-ae468bfc9bda28f8450658ac391efd30ef4269c9.tar.gz
opensim-SC-ae468bfc9bda28f8450658ac391efd30ef4269c9.tar.bz2
opensim-SC-ae468bfc9bda28f8450658ac391efd30ef4269c9.tar.xz
Corrects errors in sphere mesh with dimple start angle > 0 and hollow == 0
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r--OpenSim/Region/Physics/Meshing/Meshmerizer.cs4
1 files changed, 2 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
index f770476..e532415 100644
--- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
+++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
@@ -1582,14 +1582,14 @@ namespace OpenSim.Region.Physics.Meshing
1582 1582
1583 if ((primShape.ProfileCurve & 0x07) == (byte)ProfileShape.HalfCircle) 1583 if ((primShape.ProfileCurve & 0x07) == (byte)ProfileShape.HalfCircle)
1584 { // dimpled sphere uses profile cut but since it's a half circle the angles are smaller 1584 { // dimpled sphere uses profile cut but since it's a half circle the angles are smaller
1585 1585 if (hollowFactor == 0) hollowFactor = 1000; // bare minimum hollow to keep the triangulator happy
1586 fProfileBeginAngle = 0.0036f * (float)primShape.ProfileBegin; 1586 fProfileBeginAngle = 0.0036f * (float)primShape.ProfileBegin;
1587 fProfileEndAngle = 180.0f - 0.0036f * (float)primShape.ProfileEnd; 1587 fProfileEndAngle = 180.0f - 0.0036f * (float)primShape.ProfileEnd;
1588 if (fProfileBeginAngle < fProfileEndAngle) 1588 if (fProfileBeginAngle < fProfileEndAngle)
1589 fProfileEndAngle -= 360.0f; 1589 fProfileEndAngle -= 360.0f;
1590 // a cut starting at 0 degrees with a hollow causes an infinite loop so move the start angle 1590 // a cut starting at 0 degrees with a hollow causes an infinite loop so move the start angle
1591 // past it into the empty part of the circle to avoid this condition 1591 // past it into the empty part of the circle to avoid this condition
1592 if (fProfileBeginAngle == 0.0f) fProfileBeginAngle = -10.0f; 1592 if (fProfileBeginAngle == 0.0f && hollowFactor != 0) fProfileBeginAngle = -10.0f;
1593 1593
1594#if SPAM 1594#if SPAM
1595 Console.WriteLine("Sphere dimple: fProfileBeginAngle: " + fProfileBeginAngle.ToString() + " fProfileEndAngle: " + fProfileEndAngle.ToString()); 1595 Console.WriteLine("Sphere dimple: fProfileBeginAngle: " + fProfileBeginAngle.ToString() + " fProfileEndAngle: " + fProfileEndAngle.ToString());