From 266b27267378bf9030f74135ac14af418a37e5ec Mon Sep 17 00:00:00 2001
From: MW
Date: Tue, 7 Aug 2007 18:31:20 +0000
Subject: Some more work on new Sceneobject.
---
.../Environment/Scenes/AllNewSceneObjectGroup2.cs | 57 ++++++++++++++++++++--
1 file changed, 53 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs')
diff --git a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
index 4638d70..86610c0 100644
--- a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
+++ b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
@@ -38,6 +38,33 @@ namespace OpenSim.Region.Environment.Scenes
get { return new LLVector3(0, 0, 0); }
}
+ public override LLVector3 Pos
+ {
+ get { return m_rootPart.GroupPosition; }
+ set
+ {
+ lock (this.m_parts)
+ {
+ foreach (AllNewSceneObjectPart2 part in this.m_parts.Values)
+ {
+ part.GroupPosition = value;
+ }
+ }
+ }
+ }
+
+ public override uint LocalId
+ {
+ get { return m_rootPart.LocalID; }
+ set { m_rootPart.LocalID = value; }
+ }
+
+ public override LLUUID UUID
+ {
+ get { return m_rootPart.UUID; }
+ set { m_rootPart.UUID = value; }
+ }
+
///
///
///
@@ -370,7 +397,7 @@ namespace OpenSim.Region.Environment.Scenes
///
public void UpdateGroupPosition(LLVector3 pos)
{
- this.m_pos = pos;
+ this.Pos = pos;
}
///
@@ -442,7 +469,7 @@ namespace OpenSim.Region.Environment.Scenes
public void UpdateGroupRotation(LLVector3 pos, LLQuaternion rot)
{
this.m_rootPart.UpdateRotation(rot);
- this.m_pos = pos;
+ this.Pos = pos;
}
///
@@ -500,8 +527,8 @@ namespace OpenSim.Region.Environment.Scenes
private void SetPartAsRoot(AllNewSceneObjectPart2 part)
{
this.m_rootPart = part;
- this.m_uuid = part.UUID;
- this.m_localId = part.LocalID;
+ //this.m_uuid= part.UUID;
+ // this.m_localId = part.LocalID;
}
///
@@ -522,6 +549,11 @@ namespace OpenSim.Region.Environment.Scenes
return m_scene.RequestAvatarList();
}
+ ///
+ ///
+ ///
+ ///
+ ///
internal void SendPartFullUpdate(IClientAPI remoteClient, AllNewSceneObjectPart2 part)
{
if( m_rootPart == part )
@@ -533,5 +565,22 @@ namespace OpenSim.Region.Environment.Scenes
part.SendFullUpdateToClient( remoteClient );
}
}
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ internal void SendPartTerseUpdate(IClientAPI remoteClient, AllNewSceneObjectPart2 part)
+ {
+ if (m_rootPart == part)
+ {
+ part.SendTerseUpdateToClient(remoteClient, Pos);
+ }
+ else
+ {
+ part.SendTerseUpdateToClient(remoteClient);
+ }
+ }
}
}
--
cgit v1.1