aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDahlia Trimble2008-09-01 08:19:47 +0000
committerDahlia Trimble2008-09-01 08:19:47 +0000
commitf4035840d26ee7cdc7eea3dae0a52f22632aaaa0 (patch)
tree9fa645de03db157abb2715c41252d657aa88f06c
parentImprovement in mesh accuracy in X Top Shear parameter for circular path prims (diff)
downloadopensim-SC_OLD-f4035840d26ee7cdc7eea3dae0a52f22632aaaa0.zip
opensim-SC_OLD-f4035840d26ee7cdc7eea3dae0a52f22632aaaa0.tar.gz
opensim-SC_OLD-f4035840d26ee7cdc7eea3dae0a52f22632aaaa0.tar.bz2
opensim-SC_OLD-f4035840d26ee7cdc7eea3dae0a52f22632aaaa0.tar.xz
compensates profile placement effects of Y hole size on X top shear for circular path prim meshes
-rw-r--r--OpenSim/Region/Physics/Meshing/PrimMesher.cs3
1 files changed, 2 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/Meshing/PrimMesher.cs b/OpenSim/Region/Physics/Meshing/PrimMesher.cs
index 26b3f02..d0a09ff 100644
--- a/OpenSim/Region/Physics/Meshing/PrimMesher.cs
+++ b/OpenSim/Region/Physics/Meshing/PrimMesher.cs
@@ -736,6 +736,7 @@ namespace OpenSim.Region.Physics.Meshing
736 float pathLength = this.pathCutEnd - this.pathCutBegin; 736 float pathLength = this.pathCutEnd - this.pathCutBegin;
737 float totalSkew = this.skew * 2.0f * pathLength; 737 float totalSkew = this.skew * 2.0f * pathLength;
738 float skewStart = this.pathCutBegin * 2.0f * this.skew - this.skew; 738 float skewStart = this.pathCutBegin * 2.0f * this.skew - this.skew;
739 float xOffsetTopShearXFactor = this.topShearX * (0.25f + 0.5f * (0.5f - this.holeSizeY));
739 740
740 // It's not quite clear what pushY (Y top shear) does, but subtracting it from the start and end 741 // It's not quite clear what pushY (Y top shear) does, but subtracting it from the start and end
741 // angles appears to approximate it's effects on path cut. Likewise, adding it to the angle used 742 // angles appears to approximate it's effects on path cut. Likewise, adding it to the angle used
@@ -822,8 +823,8 @@ namespace OpenSim.Region.Physics.Meshing
822 float twist = twistBegin + twistTotal * percentOfPath; 823 float twist = twistBegin + twistTotal * percentOfPath;
823 824
824 float xOffset = 0.5f * (skewStart + totalSkew * percentOfAngles); 825 float xOffset = 0.5f * (skewStart + totalSkew * percentOfAngles);
826 xOffset += (float)Math.Sin(angle) * xOffsetTopShearXFactor;
825 827
826 xOffset += (float)Math.Sin(angle) * this.topShearX * 0.225f;
827 float yOffset = (float)Math.Cos(angle) * (0.5f - yPathScale) * radiusScale; 828 float yOffset = (float)Math.Cos(angle) * (0.5f - yPathScale) * radiusScale;
828 829
829 float zOffset = (float)Math.Sin(angle + this.topShearY * 0.9f) * (0.5f - yPathScale) * radiusScale; 830 float zOffset = (float)Math.Sin(angle + this.topShearY * 0.9f) * (0.5f - yPathScale) * radiusScale;