aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/AssetBase.cs
diff options
context:
space:
mode:
authorJohn Cochran2012-01-03 11:38:38 -0600
committerJustin Clark-Casey (justincc)2012-01-06 21:08:54 +0000
commiteb9bf717264083ad76022dff6a2284ad9393ac38 (patch)
tree378d82e25d21439be3d548b9fad5117fbf9207a1 /OpenSim/Framework/AssetBase.cs
parentImplement the FetchInventory2 capability. This accompanies the existing Fetc... (diff)
downloadopensim-SC_OLD-eb9bf717264083ad76022dff6a2284ad9393ac38.zip
opensim-SC_OLD-eb9bf717264083ad76022dff6a2284ad9393ac38.tar.gz
opensim-SC_OLD-eb9bf717264083ad76022dff6a2284ad9393ac38.tar.bz2
opensim-SC_OLD-eb9bf717264083ad76022dff6a2284ad9393ac38.tar.xz
Replaced llRot2Euler function.
The original function suffered from unexpected results due to rounding errors. An error of only 1 or 2 ulps would cause the code to not detect a singularity at Y rotation +/- PI/2 and take the non-singularity code path. The replacement code does not suffer from wildly inaccurate results at the +/- PI/2 singularity. The check in the code for the singularity isn't strictly needed, but gives more consistent results At the singularity, the X and Z rotations add. The if check simply forces the X rotation to be zero so the entirety of the X+Z rotation is carried by Z. Additionally, the test code has been updated to include test cases that caused the old code to fail. The test algorithm is also updated to perform a more meaningful test. The original code checked if the values against expected values. This could fail at +/- PI rotations since a rotation around an axis by PI causes the identical effect as a rotation by -PI. The new test code checks that the returned angles can be used to recreate a quaternion that causes the same rotation.
Diffstat (limited to 'OpenSim/Framework/AssetBase.cs')
0 files changed, 0 insertions, 0 deletions