aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Types
diff options
context:
space:
mode:
authorAdam Frisby2008-05-01 18:04:42 +0000
committerAdam Frisby2008-05-01 18:04:42 +0000
commit20a9bf08f51351e1e0a9de94f184ff56cd572665 (patch)
tree52da64dab26353b903c8e4befed0178fa72a188b /OpenSim/Region/Environment/Types
parentMore config cleanup in LaunchSLClient. (diff)
downloadopensim-SC_OLD-20a9bf08f51351e1e0a9de94f184ff56cd572665.zip
opensim-SC_OLD-20a9bf08f51351e1e0a9de94f184ff56cd572665.tar.gz
opensim-SC_OLD-20a9bf08f51351e1e0a9de94f184ff56cd572665.tar.bz2
opensim-SC_OLD-20a9bf08f51351e1e0a9de94f184ff56cd572665.tar.xz
* Rolled back a few changes.
Diffstat (limited to 'OpenSim/Region/Environment/Types')
-rw-r--r--OpenSim/Region/Environment/Types/BasicQuadTreeNode.cs53
-rw-r--r--OpenSim/Region/Environment/Types/UpdateQueue.cs103
2 files changed, 77 insertions, 79 deletions
diff --git a/OpenSim/Region/Environment/Types/BasicQuadTreeNode.cs b/OpenSim/Region/Environment/Types/BasicQuadTreeNode.cs
index 41f17e5..24ce94b 100644
--- a/OpenSim/Region/Environment/Types/BasicQuadTreeNode.cs
+++ b/OpenSim/Region/Environment/Types/BasicQuadTreeNode.cs
@@ -33,15 +33,16 @@ namespace OpenSim.Region.Environment.Types
33{ 33{
34 public class BasicQuadTreeNode 34 public class BasicQuadTreeNode
35 { 35 {
36 private readonly short m_height; 36 private List<SceneObjectGroup> m_objects = new List<SceneObjectGroup>();
37 private readonly short m_leftX; 37 private BasicQuadTreeNode[] m_childNodes = null;
38 private readonly short m_leftY; 38 private BasicQuadTreeNode m_parent = null;
39 private readonly List<SceneObjectGroup> m_objects = new List<SceneObjectGroup>(); 39
40 private readonly BasicQuadTreeNode m_parent; 40 private short m_leftX;
41 private short m_leftY;
42 private short m_width;
43 private short m_height;
41 //private int m_quadNumber; 44 //private int m_quadNumber;
42 private readonly string m_quadID; 45 private string m_quadID;
43 private readonly short m_width;
44 private BasicQuadTreeNode[] m_childNodes;
45 46
46 public BasicQuadTreeNode(BasicQuadTreeNode parent, string quadID, short leftX, short leftY, short width, 47 public BasicQuadTreeNode(BasicQuadTreeNode parent, string quadID, short leftX, short leftY, short width,
47 short height) 48 short height)
@@ -66,9 +67,9 @@ namespace OpenSim.Region.Environment.Types
66 } 67 }
67 else 68 else
68 { 69 {
69 if (obj.AbsolutePosition.X < (m_leftX + (m_width / 2))) 70 if (obj.AbsolutePosition.X < (m_leftX + (m_width/2)))
70 { 71 {
71 if (obj.AbsolutePosition.Y < (m_leftY + (m_height / 2))) 72 if (obj.AbsolutePosition.Y < (m_leftY + (m_height/2)))
72 { 73 {
73 m_childNodes[0].AddObject(obj); 74 m_childNodes[0].AddObject(obj);
74 } 75 }
@@ -79,7 +80,7 @@ namespace OpenSim.Region.Environment.Types
79 } 80 }
80 else 81 else
81 { 82 {
82 if (obj.AbsolutePosition.Y < (m_leftY + (m_height / 2))) 83 if (obj.AbsolutePosition.Y < (m_leftY + (m_height/2)))
83 { 84 {
84 m_childNodes[1].AddObject(obj); 85 m_childNodes[1].AddObject(obj);
85 } 86 }
@@ -97,17 +98,17 @@ namespace OpenSim.Region.Environment.Types
97 { 98 {
98 m_childNodes = new BasicQuadTreeNode[4]; 99 m_childNodes = new BasicQuadTreeNode[4];
99 m_childNodes[0] = 100 m_childNodes[0] =
100 new BasicQuadTreeNode(this, m_quadID + "1/", m_leftX, m_leftY, (short) (m_width / 2), 101 new BasicQuadTreeNode(this, m_quadID + "1/", m_leftX, m_leftY, (short) (m_width/2),
101 (short) (m_height / 2)); 102 (short) (m_height/2));
102 m_childNodes[1] = 103 m_childNodes[1] =
103 new BasicQuadTreeNode(this, m_quadID + "2/", (short) (m_leftX + (m_width / 2)), m_leftY, 104 new BasicQuadTreeNode(this, m_quadID + "2/", (short) (m_leftX + (m_width/2)), m_leftY,
104 (short) (m_width / 2), (short) (m_height / 2)); 105 (short) (m_width/2), (short) (m_height/2));
105 m_childNodes[2] = 106 m_childNodes[2] =
106 new BasicQuadTreeNode(this, m_quadID + "3/", m_leftX, (short) (m_leftY + (m_height / 2)), 107 new BasicQuadTreeNode(this, m_quadID + "3/", m_leftX, (short) (m_leftY + (m_height/2)),
107 (short) (m_width / 2), (short) (m_height / 2)); 108 (short) (m_width/2), (short) (m_height/2));
108 m_childNodes[3] = 109 m_childNodes[3] =
109 new BasicQuadTreeNode(this, m_quadID + "4/", (short) (m_leftX + (m_width / 2)), 110 new BasicQuadTreeNode(this, m_quadID + "4/", (short) (m_leftX + (m_width/2)),
110 (short) (m_height + (m_height / 2)), (short) (m_width / 2), (short) (m_height / 2)); 111 (short) (m_height + (m_height/2)), (short) (m_width/2), (short) (m_height/2));
111 } 112 }
112 else 113 else
113 { 114 {
@@ -126,9 +127,9 @@ namespace OpenSim.Region.Environment.Types
126 } 127 }
127 else 128 else
128 { 129 {
129 if (x < m_leftX + (m_width / 2)) 130 if (x < m_leftX + (m_width/2))
130 { 131 {
131 if (y < m_leftY + (m_height / 2)) 132 if (y < m_leftY + (m_height/2))
132 { 133 {
133 return m_childNodes[0].GetObjectsFrom(x, y); 134 return m_childNodes[0].GetObjectsFrom(x, y);
134 } 135 }
@@ -139,7 +140,7 @@ namespace OpenSim.Region.Environment.Types
139 } 140 }
140 else 141 else
141 { 142 {
142 if (y < m_leftY + (m_height / 2)) 143 if (y < m_leftY + (m_height/2))
143 { 144 {
144 return m_childNodes[1].GetObjectsFrom(x, y); 145 return m_childNodes[1].GetObjectsFrom(x, y);
145 } 146 }
@@ -180,9 +181,9 @@ namespace OpenSim.Region.Environment.Types
180 } 181 }
181 else 182 else
182 { 183 {
183 if (x < m_leftX + (m_width / 2)) 184 if (x < m_leftX + (m_width/2))
184 { 185 {
185 if (y < m_leftY + (m_height / 2)) 186 if (y < m_leftY + (m_height/2))
186 { 187 {
187 return m_childNodes[0].GetNodeID(x, y); 188 return m_childNodes[0].GetNodeID(x, y);
188 } 189 }
@@ -193,7 +194,7 @@ namespace OpenSim.Region.Environment.Types
193 } 194 }
194 else 195 else
195 { 196 {
196 if (y < m_leftY + (m_height / 2)) 197 if (y < m_leftY + (m_height/2))
197 { 198 {
198 return m_childNodes[1].GetNodeID(x, y); 199 return m_childNodes[1].GetNodeID(x, y);
199 } 200 }
@@ -265,4 +266,4 @@ namespace OpenSim.Region.Environment.Types
265 return retVal; 266 return retVal;
266 } 267 }
267 } 268 }
268} \ No newline at end of file 269}
diff --git a/OpenSim/Region/Environment/Types/UpdateQueue.cs b/OpenSim/Region/Environment/Types/UpdateQueue.cs
index 24fe116..ec1ffd2 100644
--- a/OpenSim/Region/Environment/Types/UpdateQueue.cs
+++ b/OpenSim/Region/Environment/Types/UpdateQueue.cs
@@ -34,70 +34,26 @@ using OpenSim.Region.Environment.Scenes;
34 34
35namespace OpenSim.Region.Environment.Types 35namespace OpenSim.Region.Environment.Types
36{ 36{
37 [Serializable] 37 [Serializable]
38 public class UpdateQueue : ISerializable 38 public class UpdateQueue : ISerializable
39 { 39 {
40 private readonly List<LLUUID> m_ids; 40 private Queue<SceneObjectPart> m_queue;
41 private readonly Queue<SceneObjectPart> m_queue;
42 41
43 private readonly object m_syncObject = new object(); 42 private List<LLUUID> m_ids;
44 43
45 public UpdateQueue() 44 private object m_syncObject = new object();
46 {
47 m_queue = new Queue<SceneObjectPart>();
48 m_ids = new List<LLUUID>();
49 }
50
51 protected UpdateQueue(SerializationInfo info, StreamingContext context)
52 {
53 //System.Console.WriteLine("UpdateQueue Deserialize BGN");
54
55 if (info == null)
56 {
57 throw new ArgumentNullException("info");
58 }
59
60 m_queue = (Queue<SceneObjectPart>) info.GetValue("m_queue", typeof (Queue<SceneObjectPart>));
61 List<Guid> ids_work = (List<Guid>) info.GetValue("m_ids", typeof (List<Guid>));
62
63 foreach (Guid guid in ids_work)
64 {
65 m_ids.Add(new LLUUID(guid));
66 }
67
68 //System.Console.WriteLine("UpdateQueue Deserialize END");
69 }
70 45
71 public int Count 46 public int Count
72 { 47 {
73 get { return m_queue.Count; } 48 get { return m_queue.Count; }
74 } 49 }
75 50
76 #region ISerializable Members 51 public UpdateQueue()
77
78 [SecurityPermission(SecurityAction.LinkDemand,
79 Flags = SecurityPermissionFlag.SerializationFormatter)]
80 public virtual void GetObjectData(
81 SerializationInfo info, StreamingContext context)
82 { 52 {
83 if (info == null) 53 m_queue = new Queue<SceneObjectPart>();
84 { 54 m_ids = new List<LLUUID>();
85 throw new ArgumentNullException("info");
86 }
87
88 List<Guid> ids_work = new List<Guid>();
89
90 foreach (LLUUID uuid in m_ids)
91 {
92 ids_work.Add(uuid.UUID);
93 }
94
95 info.AddValue("m_queue", m_queue);
96 info.AddValue("m_ids", ids_work);
97 } 55 }
98 56
99 #endregion
100
101 public void Clear() 57 public void Clear()
102 { 58 {
103 lock (m_syncObject) 59 lock (m_syncObject)
@@ -133,5 +89,46 @@ namespace OpenSim.Region.Environment.Types
133 89
134 return part; 90 return part;
135 } 91 }
92
93 protected UpdateQueue(SerializationInfo info, StreamingContext context)
94 {
95 //System.Console.WriteLine("UpdateQueue Deserialize BGN");
96
97 if (info == null)
98 {
99 throw new ArgumentNullException("info");
100 }
101
102 m_queue = (Queue<SceneObjectPart>)info.GetValue("m_queue", typeof(Queue<SceneObjectPart>));
103 List<Guid> ids_work = (List<Guid>)info.GetValue("m_ids", typeof(List<Guid>));
104
105 foreach (Guid guid in ids_work)
106 {
107 m_ids.Add(new LLUUID(guid));
108 }
109
110 //System.Console.WriteLine("UpdateQueue Deserialize END");
111 }
112
113 [SecurityPermission(SecurityAction.LinkDemand,
114 Flags = SecurityPermissionFlag.SerializationFormatter)]
115 public virtual void GetObjectData(
116 SerializationInfo info, StreamingContext context)
117 {
118 if (info == null)
119 {
120 throw new ArgumentNullException("info");
121 }
122
123 List<Guid> ids_work = new List<Guid>();
124
125 foreach (LLUUID uuid in m_ids)
126 {
127 ids_work.Add(uuid.UUID);
128 }
129
130 info.AddValue("m_queue", m_queue);
131 info.AddValue("m_ids", ids_work);
132 }
136 } 133 }
137} \ No newline at end of file 134}