aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMW2007-08-21 16:46:10 +0000
committerMW2007-08-21 16:46:10 +0000
commit16f75978ceded5c8191a27ad583f024eda5d2de5 (patch)
tree38c8f73abf31cb07bda5e08e8cac43a1b45dc407 /OpenSim/Region
parentA bit more work on prim building related code. Think most of the building too... (diff)
downloadopensim-SC-16f75978ceded5c8191a27ad583f024eda5d2de5.zip
opensim-SC-16f75978ceded5c8191a27ad583f024eda5d2de5.tar.gz
opensim-SC-16f75978ceded5c8191a27ad583f024eda5d2de5.tar.bz2
opensim-SC-16f75978ceded5c8191a27ad583f024eda5d2de5.tar.xz
Think linking prims should now work correctly (if its not then please someone let me know) and the rotations are kept. [Now just need to fix the editing (rotation and position) of individual prims of a group]
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs3
1 files changed, 2 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 1b7ff23..03ad8c5 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -443,7 +443,7 @@ namespace OpenSim.Region.Environment.Scenes
443 axPos = parentRot.Inverse() * axPos; 443 axPos = parentRot.Inverse() * axPos;
444 linkPart.OffsetPosition = new LLVector3(axPos.x, axPos.y, axPos.z); 444 linkPart.OffsetPosition = new LLVector3(axPos.x, axPos.y, axPos.z);
445 Quaternion oldRot = new Quaternion(linkPart.RotationOffset.W, linkPart.RotationOffset.X, linkPart.RotationOffset.Y, linkPart.RotationOffset.Z); 445 Quaternion oldRot = new Quaternion(linkPart.RotationOffset.W, linkPart.RotationOffset.X, linkPart.RotationOffset.Y, linkPart.RotationOffset.Z);
446 Quaternion newRot = parentRot * oldRot; 446 Quaternion newRot = parentRot.Inverse() * oldRot;
447 linkPart.RotationOffset = new LLQuaternion(newRot.x, newRot.y, newRot.z, newRot.w); 447 linkPart.RotationOffset = new LLQuaternion(newRot.x, newRot.y, newRot.z, newRot.w);
448 linkPart.ParentID = this.m_rootPart.LocalID; 448 linkPart.ParentID = this.m_rootPart.LocalID;
449 this.m_parts.Add(linkPart.UUID, linkPart); 449 this.m_parts.Add(linkPart.UUID, linkPart);
@@ -464,6 +464,7 @@ namespace OpenSim.Region.Environment.Scenes
464 this.ScheduleGroupForFullUpdate(); 464 this.ScheduleGroupForFullUpdate();
465 } 465 }
466 466
467
467 private void LinkNonRootPart(SceneObjectPart part, Vector3 oldGroupPosition, Quaternion oldGroupRotation) 468 private void LinkNonRootPart(SceneObjectPart part, Vector3 oldGroupPosition, Quaternion oldGroupRotation)
468 { 469 {
469 part.SetParent(this); 470 part.SetParent(this);