aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneGraph.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneGraph.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneGraph.cs28
1 files changed, 15 insertions, 13 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 7ec7ea3..65dc2c9 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -564,11 +564,13 @@ namespace OpenSim.Region.Framework.Scenes
564 part.Undo(); 564 part.Undo();
565 } 565 }
566 } 566 }
567
567 protected internal void HandleRedo(IClientAPI remoteClient, UUID primId) 568 protected internal void HandleRedo(IClientAPI remoteClient, UUID primId)
568 { 569 {
569 if (primId != UUID.Zero) 570 if (primId != UUID.Zero)
570 { 571 {
571 SceneObjectPart part = m_parentScene.GetSceneObjectPart(primId); 572 SceneObjectPart part = m_parentScene.GetSceneObjectPart(primId);
573
572 if (part != null) 574 if (part != null)
573 part.Redo(); 575 part.Redo();
574 } 576 }
@@ -1210,19 +1212,20 @@ namespace OpenSim.Region.Framework.Scenes
1210 #region Client Event handlers 1212 #region Client Event handlers
1211 1213
1212 /// <summary> 1214 /// <summary>
1213 /// 1215 /// Update the scale of an individual prim.
1214 /// </summary> 1216 /// </summary>
1215 /// <param name="localID"></param> 1217 /// <param name="localID"></param>
1216 /// <param name="scale"></param> 1218 /// <param name="scale"></param>
1217 /// <param name="remoteClient"></param> 1219 /// <param name="remoteClient"></param>
1218 protected internal void UpdatePrimScale(uint localID, Vector3 scale, IClientAPI remoteClient) 1220 protected internal void UpdatePrimScale(uint localID, Vector3 scale, IClientAPI remoteClient)
1219 { 1221 {
1220 SceneObjectGroup group = GetGroupByPrim(localID); 1222 SceneObjectPart part = GetSceneObjectPart(localID);
1221 if (group != null) 1223
1224 if (part != null)
1222 { 1225 {
1223 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId)) 1226 if (m_parentScene.Permissions.CanEditObject(part.ParentGroup.UUID, remoteClient.AgentId))
1224 { 1227 {
1225 group.Resize(scale, localID); 1228 part.Resize(scale);
1226 } 1229 }
1227 } 1230 }
1228 } 1231 }
@@ -1234,7 +1237,7 @@ namespace OpenSim.Region.Framework.Scenes
1234 { 1237 {
1235 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId)) 1238 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId))
1236 { 1239 {
1237 group.GroupResize(scale, localID); 1240 group.GroupResize(scale);
1238 } 1241 }
1239 } 1242 }
1240 } 1243 }
@@ -1288,19 +1291,18 @@ namespace OpenSim.Region.Framework.Scenes
1288 { 1291 {
1289 if (m_parentScene.Permissions.CanMoveObject(group.UUID, remoteClient.AgentId)) 1292 if (m_parentScene.Permissions.CanMoveObject(group.UUID, remoteClient.AgentId))
1290 { 1293 {
1291 group.UpdateSingleRotation(rot,pos, localID); 1294 group.UpdateSingleRotation(rot, pos, localID);
1292 } 1295 }
1293 } 1296 }
1294 } 1297 }
1295 1298
1296
1297 /// <summary> 1299 /// <summary>
1298 /// 1300 /// Update the rotation of a whole group.
1299 /// </summary> 1301 /// </summary>
1300 /// <param name="localID"></param> 1302 /// <param name="localID"></param>
1301 /// <param name="rot"></param> 1303 /// <param name="rot"></param>
1302 /// <param name="remoteClient"></param> 1304 /// <param name="remoteClient"></param>
1303 protected internal void UpdatePrimRotation(uint localID, Quaternion rot, IClientAPI remoteClient) 1305 protected internal void UpdatePrimGroupRotation(uint localID, Quaternion rot, IClientAPI remoteClient)
1304 { 1306 {
1305 SceneObjectGroup group = GetGroupByPrim(localID); 1307 SceneObjectGroup group = GetGroupByPrim(localID);
1306 if (group != null) 1308 if (group != null)
@@ -1319,7 +1321,7 @@ namespace OpenSim.Region.Framework.Scenes
1319 /// <param name="pos"></param> 1321 /// <param name="pos"></param>
1320 /// <param name="rot"></param> 1322 /// <param name="rot"></param>
1321 /// <param name="remoteClient"></param> 1323 /// <param name="remoteClient"></param>
1322 protected internal void UpdatePrimRotation(uint localID, Vector3 pos, Quaternion rot, IClientAPI remoteClient) 1324 protected internal void UpdatePrimGroupRotation(uint localID, Vector3 pos, Quaternion rot, IClientAPI remoteClient)
1323 { 1325 {
1324 SceneObjectGroup group = GetGroupByPrim(localID); 1326 SceneObjectGroup group = GetGroupByPrim(localID);
1325 if (group != null) 1327 if (group != null)
@@ -1350,12 +1352,12 @@ namespace OpenSim.Region.Framework.Scenes
1350 } 1352 }
1351 1353
1352 /// <summary> 1354 /// <summary>
1353 /// Update the position of the given part 1355 /// Update the position of the given group.
1354 /// </summary> 1356 /// </summary>
1355 /// <param name="localID"></param> 1357 /// <param name="localID"></param>
1356 /// <param name="pos"></param> 1358 /// <param name="pos"></param>
1357 /// <param name="remoteClient"></param> 1359 /// <param name="remoteClient"></param>
1358 public void UpdatePrimPosition(uint localID, Vector3 pos, IClientAPI remoteClient) 1360 public void UpdatePrimGroupPosition(uint localID, Vector3 pos, IClientAPI remoteClient)
1359 { 1361 {
1360 SceneObjectGroup group = GetGroupByPrim(localID); 1362 SceneObjectGroup group = GetGroupByPrim(localID);
1361 1363