diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 46eadee..71c8018 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -104,7 +104,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
104 | 104 | ||
105 | #endregion Enumerations | 105 | #endregion Enumerations |
106 | 106 | ||
107 | public class SceneObjectPart : IScriptHost | 107 | public class SceneObjectPart : IScriptHost, ISceneEntity |
108 | { | 108 | { |
109 | /// <value> | 109 | /// <value> |
110 | /// Denote all sides of the prim | 110 | /// Denote all sides of the prim |
@@ -712,6 +712,24 @@ namespace OpenSim.Region.Framework.Scenes | |||
712 | } | 712 | } |
713 | } | 713 | } |
714 | 714 | ||
715 | public Vector3 RelativePosition | ||
716 | { | ||
717 | get | ||
718 | { | ||
719 | if (IsRoot) | ||
720 | { | ||
721 | if (IsAttachment) | ||
722 | return AttachedPos; | ||
723 | else | ||
724 | return AbsolutePosition; | ||
725 | } | ||
726 | else | ||
727 | { | ||
728 | return OffsetPosition; | ||
729 | } | ||
730 | } | ||
731 | } | ||
732 | |||
715 | public Quaternion RotationOffset | 733 | public Quaternion RotationOffset |
716 | { | 734 | { |
717 | get | 735 | get |
@@ -973,7 +991,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
973 | get { return AggregateScriptEvents; } | 991 | get { return AggregateScriptEvents; } |
974 | } | 992 | } |
975 | 993 | ||
976 | |||
977 | public Quaternion SitTargetOrientation | 994 | public Quaternion SitTargetOrientation |
978 | { | 995 | { |
979 | get { return m_sitTargetOrientation; } | 996 | get { return m_sitTargetOrientation; } |
@@ -2925,11 +2942,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2925 | //if (LocalId != ParentGroup.RootPart.LocalId) | 2942 | //if (LocalId != ParentGroup.RootPart.LocalId) |
2926 | //isattachment = ParentGroup.RootPart.IsAttachment; | 2943 | //isattachment = ParentGroup.RootPart.IsAttachment; |
2927 | 2944 | ||
2928 | byte[] color = new byte[] {m_color.R, m_color.G, m_color.B, m_color.A}; | 2945 | remoteClient.SendPrimUpdate(this, PrimUpdateFlags.FullUpdate); |
2929 | remoteClient.SendPrimitiveToClient(new SendPrimitiveData(m_regionHandle, m_parentGroup.GetTimeDilation(), LocalId, m_shape, | ||
2930 | lPos, Velocity, Acceleration, RotationOffset, AngularVelocity, clientFlags, m_uuid, _ownerID, | ||
2931 | m_text, color, _parentID, m_particleSystem, m_clickAction, (byte)m_material, m_TextureAnimation, IsAttachment, | ||
2932 | AttachmentPoint,FromItemID, Sound, SoundGain, SoundFlags, SoundRadius, ParentGroup.GetUpdatePriority(remoteClient))); | ||
2933 | } | 2946 | } |
2934 | 2947 | ||
2935 | /// <summary> | 2948 | /// <summary> |
@@ -4640,11 +4653,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4640 | 4653 | ||
4641 | // Causes this thread to dig into the Client Thread Data. | 4654 | // Causes this thread to dig into the Client Thread Data. |
4642 | // Remember your locking here! | 4655 | // Remember your locking here! |
4643 | remoteClient.SendPrimTerseUpdate(new SendPrimitiveTerseData(m_regionHandle, | 4656 | remoteClient.SendPrimUpdate(this, PrimUpdateFlags.Position | PrimUpdateFlags.Rotation | PrimUpdateFlags.Velocity | PrimUpdateFlags.Acceleration | PrimUpdateFlags.AngularVelocity); |
4644 | m_parentGroup.GetTimeDilation(), LocalId, lPos, | ||
4645 | RotationOffset, Velocity, Acceleration, | ||
4646 | AngularVelocity, FromItemID, | ||
4647 | OwnerID, (int)AttachmentPoint, null, ParentGroup.GetUpdatePriority(remoteClient))); | ||
4648 | } | 4657 | } |
4649 | 4658 | ||
4650 | public void AddScriptLPS(int count) | 4659 | public void AddScriptLPS(int count) |
@@ -4694,7 +4703,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
4694 | 4703 | ||
4695 | public Color4 GetTextColor() | 4704 | public Color4 GetTextColor() |
4696 | { | 4705 | { |
4697 | return new Color4((byte)Color.R, (byte)Color.G, (byte)Color.B, (byte)(0xFF - Color.A)); | 4706 | Color color = Color; |
4707 | return new Color4(color.R, color.G, color.B, (byte)(0xFF - color.A)); | ||
4698 | } | 4708 | } |
4699 | } | 4709 | } |
4700 | } | 4710 | } |