aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObject.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObject.cs24
1 files changed, 21 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObject.cs b/OpenSim/Region/Environment/Scenes/SceneObject.cs
index 04ed408..3d97a06 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObject.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObject.cs
@@ -63,6 +63,7 @@ namespace OpenSim.Region.Environment.Scenes
63 return this.LocalId; 63 return this.LocalId;
64 } 64 }
65 } 65 }
66
66 /// <summary> 67 /// <summary>
67 /// 68 ///
68 /// </summary> 69 /// </summary>
@@ -72,8 +73,8 @@ namespace OpenSim.Region.Environment.Scenes
72 m_world = world; 73 m_world = world;
73 this.Pos = addPacket.ObjectData.RayEnd; 74 this.Pos = addPacket.ObjectData.RayEnd;
74 this.CreateRootFromPacket(addPacket, ownerID, localID); 75 this.CreateRootFromPacket(addPacket, ownerID, localID);
75
76 } 76 }
77
77 /// <summary> 78 /// <summary>
78 /// 79 ///
79 /// </summary> 80 /// </summary>
@@ -115,6 +116,13 @@ namespace OpenSim.Region.Environment.Scenes
115 this.rootPrimitive.AddNewChildren(primObject); 116 this.rootPrimitive.AddNewChildren(primObject);
116 } 117 }
117 118
119 public void AddChildToList(Primitive prim)
120 {
121 if (!this.ChildPrimitives.ContainsKey(prim.uuid))
122 {
123 this.ChildPrimitives.Add(prim.uuid, prim);
124 }
125 }
118 /// <summary> 126 /// <summary>
119 /// 127 ///
120 /// </summary> 128 /// </summary>
@@ -130,10 +138,15 @@ namespace OpenSim.Region.Environment.Scenes
130 return null; 138 return null;
131 } 139 }
132 140
141 /// <summary>
142 ///
143 /// </summary>
144 /// <param name="localID"></param>
145 /// <returns></returns>
133 public Primitive HasChildPrim(uint localID) 146 public Primitive HasChildPrim(uint localID)
134 { 147 {
135 Primitive returnPrim = null; 148 Primitive returnPrim = null;
136 foreach (Primitive prim in this.children) 149 foreach (Primitive prim in this.ChildPrimitives.Values)
137 { 150 {
138 if (prim.LocalId == localID) 151 if (prim.LocalId == localID)
139 { 152 {
@@ -144,6 +157,11 @@ namespace OpenSim.Region.Environment.Scenes
144 return returnPrim; 157 return returnPrim;
145 } 158 }
146 159
160 public void SendAllChildPrimsToClient(IClientAPI client)
161 {
162 this.rootPrimitive.SendFullUpdateForAllChildren(client);
163 }
164
147 /// <summary> 165 /// <summary>
148 /// 166 ///
149 /// </summary> 167 /// </summary>
@@ -160,7 +178,7 @@ namespace OpenSim.Region.Environment.Scenes
160 /// <param name="remoteClient"></param> 178 /// <param name="remoteClient"></param>
161 public void GrapMovement(LLVector3 offset, LLVector3 pos, IClientAPI remoteClient) 179 public void GrapMovement(LLVector3 offset, LLVector3 pos, IClientAPI remoteClient)
162 { 180 {
163 this.Pos = pos; 181 //this.Pos = pos;
164 this.rootPrimitive.Pos = pos; 182 this.rootPrimitive.Pos = pos;
165 this.rootPrimitive.SendTerseUpdateForAllChildren(remoteClient); 183 this.rootPrimitive.SendTerseUpdateForAllChildren(remoteClient);
166 } 184 }