diff options
author | Adam Frisby | 2008-05-01 18:04:42 +0000 |
---|---|---|
committer | Adam Frisby | 2008-05-01 18:04:42 +0000 |
commit | 20a9bf08f51351e1e0a9de94f184ff56cd572665 (patch) | |
tree | 52da64dab26353b903c8e4befed0178fa72a188b /OpenSim/Region/Environment/Types | |
parent | More config cleanup in LaunchSLClient. (diff) | |
download | opensim-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.cs | 53 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Types/UpdateQueue.cs | 103 |
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 | ||
35 | namespace OpenSim.Region.Environment.Types | 35 | namespace 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 | } |