aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorAdam Johnson2007-12-28 08:51:39 +0000
committerAdam Johnson2007-12-28 08:51:39 +0000
commit79496381fc68cbd30ff5a95d1f05fcb18c6b1a93 (patch)
tree036414391293354da62fe9eac1895483111480a3 /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
parent* Moved PrimitiveBaseShape subclasses into factory methods - the subclassing ... (diff)
downloadopensim-SC-79496381fc68cbd30ff5a95d1f05fcb18c6b1a93.zip
opensim-SC-79496381fc68cbd30ff5a95d1f05fcb18c6b1a93.tar.gz
opensim-SC-79496381fc68cbd30ff5a95d1f05fcb18c6b1a93.tar.bz2
opensim-SC-79496381fc68cbd30ff5a95d1f05fcb18c6b1a93.tar.xz
Patch from Johan: LibSL updated to the latest revision (1568) and all packets are now
recycled to improve performance and memory usage.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs13
1 files changed, 8 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 5b74c9b..94b6797 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -74,13 +74,11 @@ namespace OpenSim.Region.Environment.Scenes
74 { 74 {
75 get { return m_rootPart.RotationOffset; } 75 get { return m_rootPart.RotationOffset; }
76 } 76 }
77
78 public LLUUID GroupID 77 public LLUUID GroupID
79 { 78 {
80 get { return m_rootPart.GroupID; } 79 get { return m_rootPart.GroupID; }
81 set { m_rootPart.GroupID = value; } 80 set { m_rootPart.GroupID = value; }
82 } 81 }
83
84 /// <summary> 82 /// <summary>
85 /// 83 ///
86 /// </summary> 84 /// </summary>
@@ -638,7 +636,9 @@ namespace OpenSim.Region.Environment.Scenes
638 public void ServiceObjectPropertiesFamilyRequest(IClientAPI remoteClient, LLUUID AgentID, uint RequestFlags) 636 public void ServiceObjectPropertiesFamilyRequest(IClientAPI remoteClient, LLUUID AgentID, uint RequestFlags)
639 { 637 {
640 //RootPart.ServiceObjectPropertiesFamilyRequest(remoteClient, AgentID, RequestFlags); 638 //RootPart.ServiceObjectPropertiesFamilyRequest(remoteClient, AgentID, RequestFlags);
641 ObjectPropertiesFamilyPacket objPropFamilyPack = new ObjectPropertiesFamilyPacket(); 639 ObjectPropertiesFamilyPacket objPropFamilyPack = (ObjectPropertiesFamilyPacket) PacketPool.Instance.GetPacket(PacketType.ObjectPropertiesFamily);
640 // TODO: don't create new blocks if recycling an old packet
641
642 ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock(); 642 ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock();
643 objPropDB.RequestFlags = RequestFlags; 643 objPropDB.RequestFlags = RequestFlags;
644 objPropDB.ObjectID = RootPart.UUID; 644 objPropDB.ObjectID = RootPart.UUID;
@@ -1045,7 +1045,9 @@ namespace OpenSim.Region.Environment.Scenes
1045 /// <param name="client"></param> 1045 /// <param name="client"></param>
1046 public void GetProperites(IClientAPI client) 1046 public void GetProperites(IClientAPI client)
1047 { 1047 {
1048 ObjectPropertiesPacket proper = new ObjectPropertiesPacket(); 1048 ObjectPropertiesPacket proper = (ObjectPropertiesPacket) PacketPool.Instance.GetPacket(PacketType.ObjectProperties);
1049 // TODO: don't create new blocks if recycling an old packet
1050
1049 proper.ObjectData = new ObjectPropertiesPacket.ObjectDataBlock[1]; 1051 proper.ObjectData = new ObjectPropertiesPacket.ObjectDataBlock[1];
1050 proper.ObjectData[0] = new ObjectPropertiesPacket.ObjectDataBlock(); 1052 proper.ObjectData[0] = new ObjectPropertiesPacket.ObjectDataBlock();
1051 proper.ObjectData[0].ItemID = LLUUID.Zero; 1053 proper.ObjectData[0].ItemID = LLUUID.Zero;
@@ -1297,6 +1299,7 @@ namespace OpenSim.Region.Environment.Scenes
1297 m_rootPart.PhysActor.IsPhysical); 1299 m_rootPart.PhysActor.IsPhysical);
1298 bool UsePhysics = ((m_rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Physics) != 0); 1300 bool UsePhysics = ((m_rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Physics) != 0);
1299 m_rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); 1301 m_rootPart.DoPhysicsPropertyUpdate(UsePhysics, true);
1302
1300 } 1303 }
1301 } 1304 }
1302 1305
@@ -1737,4 +1740,4 @@ namespace OpenSim.Region.Environment.Scenes
1737 m_rootPart.ApplyPhysics(); 1740 m_rootPart.ApplyPhysics();
1738 } 1741 }
1739 } 1742 }
1740} \ No newline at end of file 1743}