aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-06-27 14:39:21 +0000
committerJustin Clarke Casey2008-06-27 14:39:21 +0000
commitd34a46eae193d961bd48562bc28747fc010db119 (patch)
tree320d3c8dc6b0f1dab555256d82a7627308dd72a1 /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
parent* refactor: fission InnerScene.AddSceneObject() (diff)
downloadopensim-SC_OLD-d34a46eae193d961bd48562bc28747fc010db119.zip
opensim-SC_OLD-d34a46eae193d961bd48562bc28747fc010db119.tar.gz
opensim-SC_OLD-d34a46eae193d961bd48562bc28747fc010db119.tar.bz2
opensim-SC_OLD-d34a46eae193d961bd48562bc28747fc010db119.tar.xz
* refactor: Move responsibility for deciding whether a group should be repersisted on to callers of SceneObjectGroup.SendGroupTeruseUpdate()
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs12
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index dd9c706..a7c54b3 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -1588,8 +1588,6 @@ namespace OpenSim.Region.Environment.Scenes
1588 /// </summary> 1588 /// </summary>
1589 public void SendGroupTerseUpdate() 1589 public void SendGroupTerseUpdate()
1590 { 1590 {
1591 HasGroupChanged = true;
1592
1593 lock (m_parts) 1591 lock (m_parts)
1594 { 1592 {
1595 foreach (SceneObjectPart part in m_parts.Values) 1593 foreach (SceneObjectPart part in m_parts.Values)
@@ -2179,7 +2177,7 @@ namespace OpenSim.Region.Environment.Scenes
2179 #region Position 2177 #region Position
2180 2178
2181 /// <summary> 2179 /// <summary>
2182 /// 2180 /// Move this scene object
2183 /// </summary> 2181 /// </summary>
2184 /// <param name="pos"></param> 2182 /// <param name="pos"></param>
2185 public void UpdateGroupPosition(LLVector3 pos) 2183 public void UpdateGroupPosition(LLVector3 pos)
@@ -2192,20 +2190,24 @@ namespace OpenSim.Region.Environment.Scenes
2192 } 2190 }
2193 2191
2194 AbsolutePosition = pos; 2192 AbsolutePosition = pos;
2193
2194 HasGroupChanged = true;
2195 } 2195 }
2196
2196 //we need to do a terse update even if the move wasn't allowed 2197 //we need to do a terse update even if the move wasn't allowed
2197 // so that the position is reset in the client (the object snaps back) 2198 // so that the position is reset in the client (the object snaps back)
2198 ScheduleGroupForTerseUpdate(); 2199 ScheduleGroupForTerseUpdate();
2199 } 2200 }
2200 2201
2201 /// <summary> 2202 /// <summary>
2202 /// 2203 /// Update the position of a single part of this scene object
2203 /// </summary> 2204 /// </summary>
2204 /// <param name="pos"></param> 2205 /// <param name="pos"></param>
2205 /// <param name="localID"></param> 2206 /// <param name="localID"></param>
2206 public void UpdateSinglePosition(LLVector3 pos, uint localID) 2207 public void UpdateSinglePosition(LLVector3 pos, uint localID)
2207 { 2208 {
2208 SceneObjectPart part = GetChildPart(localID); 2209 SceneObjectPart part = GetChildPart(localID);
2210
2209 if (part != null) 2211 if (part != null)
2210 { 2212 {
2211 if (part.UUID == m_rootPart.UUID) 2213 if (part.UUID == m_rootPart.UUID)
@@ -2216,6 +2218,8 @@ namespace OpenSim.Region.Environment.Scenes
2216 { 2218 {
2217 part.UpdateOffSet(pos); 2219 part.UpdateOffSet(pos);
2218 } 2220 }
2221
2222 HasGroupChanged = true;
2219 } 2223 }
2220 } 2224 }
2221 2225