aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Types
diff options
context:
space:
mode:
authorAdam Frisby2008-05-01 16:35:00 +0000
committerAdam Frisby2008-05-01 16:35:00 +0000
commit13526097f24b7a8ad63b1d482c44b44397fa055f (patch)
tree7a82c20ed7c63e2aea5ad3863325e37f64e1cbea /OpenSim/Region/Environment/Types
parent* Breaking all the code, breaking all the code..! (diff)
downloadopensim-SC_OLD-13526097f24b7a8ad63b1d482c44b44397fa055f.zip
opensim-SC_OLD-13526097f24b7a8ad63b1d482c44b44397fa055f.tar.gz
opensim-SC_OLD-13526097f24b7a8ad63b1d482c44b44397fa055f.tar.bz2
opensim-SC_OLD-13526097f24b7a8ad63b1d482c44b44397fa055f.tar.xz
* Spring cleaning on Region.Environment.
* Converted a large number of read-only fields to be actually, readonly. * Reformatted code sections. * Removed redundant code.
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, 79 insertions, 77 deletions
diff --git a/OpenSim/Region/Environment/Types/BasicQuadTreeNode.cs b/OpenSim/Region/Environment/Types/BasicQuadTreeNode.cs
index 24ce94b..41f17e5 100644
--- a/OpenSim/Region/Environment/Types/BasicQuadTreeNode.cs
+++ b/OpenSim/Region/Environment/Types/BasicQuadTreeNode.cs
@@ -33,16 +33,15 @@ namespace OpenSim.Region.Environment.Types
33{ 33{
34 public class BasicQuadTreeNode 34 public class BasicQuadTreeNode
35 { 35 {
36 private List<SceneObjectGroup> m_objects = new List<SceneObjectGroup>(); 36 private readonly short m_height;
37 private BasicQuadTreeNode[] m_childNodes = null; 37 private readonly short m_leftX;
38 private BasicQuadTreeNode m_parent = null; 38 private readonly short m_leftY;
39 39 private readonly List<SceneObjectGroup> m_objects = new List<SceneObjectGroup>();
40 private short m_leftX; 40 private readonly BasicQuadTreeNode m_parent;
41 private short m_leftY;
42 private short m_width;
43 private short m_height;
44 //private int m_quadNumber; 41 //private int m_quadNumber;
45 private string m_quadID; 42 private readonly string m_quadID;
43 private readonly short m_width;
44 private BasicQuadTreeNode[] m_childNodes;
46 45
47 public BasicQuadTreeNode(BasicQuadTreeNode parent, string quadID, short leftX, short leftY, short width, 46 public BasicQuadTreeNode(BasicQuadTreeNode parent, string quadID, short leftX, short leftY, short width,
48 short height) 47 short height)
@@ -67,9 +66,9 @@ namespace OpenSim.Region.Environment.Types
67 } 66 }
68 else 67 else
69 { 68 {
70 if (obj.AbsolutePosition.X < (m_leftX + (m_width/2))) 69 if (obj.AbsolutePosition.X < (m_leftX + (m_width / 2)))
71 { 70 {
72 if (obj.AbsolutePosition.Y < (m_leftY + (m_height/2))) 71 if (obj.AbsolutePosition.Y < (m_leftY + (m_height / 2)))
73 { 72 {
74 m_childNodes[0].AddObject(obj); 73 m_childNodes[0].AddObject(obj);
75 } 74 }
@@ -80,7 +79,7 @@ namespace OpenSim.Region.Environment.Types
80 } 79 }
81 else 80 else
82 { 81 {
83 if (obj.AbsolutePosition.Y < (m_leftY + (m_height/2))) 82 if (obj.AbsolutePosition.Y < (m_leftY + (m_height / 2)))
84 { 83 {
85 m_childNodes[1].AddObject(obj); 84 m_childNodes[1].AddObject(obj);
86 } 85 }
@@ -98,17 +97,17 @@ namespace OpenSim.Region.Environment.Types
98 { 97 {
99 m_childNodes = new BasicQuadTreeNode[4]; 98 m_childNodes = new BasicQuadTreeNode[4];
100 m_childNodes[0] = 99 m_childNodes[0] =
101 new BasicQuadTreeNode(this, m_quadID + "1/", m_leftX, m_leftY, (short) (m_width/2), 100 new BasicQuadTreeNode(this, m_quadID + "1/", m_leftX, m_leftY, (short) (m_width / 2),
102 (short) (m_height/2)); 101 (short) (m_height / 2));
103 m_childNodes[1] = 102 m_childNodes[1] =
104 new BasicQuadTreeNode(this, m_quadID + "2/", (short) (m_leftX + (m_width/2)), m_leftY, 103 new BasicQuadTreeNode(this, m_quadID + "2/", (short) (m_leftX + (m_width / 2)), m_leftY,
105 (short) (m_width/2), (short) (m_height/2)); 104 (short) (m_width / 2), (short) (m_height / 2));
106 m_childNodes[2] = 105 m_childNodes[2] =
107 new BasicQuadTreeNode(this, m_quadID + "3/", m_leftX, (short) (m_leftY + (m_height/2)), 106 new BasicQuadTreeNode(this, m_quadID + "3/", m_leftX, (short) (m_leftY + (m_height / 2)),
108 (short) (m_width/2), (short) (m_height/2)); 107 (short) (m_width / 2), (short) (m_height / 2));
109 m_childNodes[3] = 108 m_childNodes[3] =
110 new BasicQuadTreeNode(this, m_quadID + "4/", (short) (m_leftX + (m_width/2)), 109 new BasicQuadTreeNode(this, m_quadID + "4/", (short) (m_leftX + (m_width / 2)),
111 (short) (m_height + (m_height/2)), (short) (m_width/2), (short) (m_height/2)); 110 (short) (m_height + (m_height / 2)), (short) (m_width / 2), (short) (m_height / 2));
112 } 111 }
113 else 112 else
114 { 113 {
@@ -127,9 +126,9 @@ namespace OpenSim.Region.Environment.Types
127 } 126 }
128 else 127 else
129 { 128 {
130 if (x < m_leftX + (m_width/2)) 129 if (x < m_leftX + (m_width / 2))
131 { 130 {
132 if (y < m_leftY + (m_height/2)) 131 if (y < m_leftY + (m_height / 2))
133 { 132 {
134 return m_childNodes[0].GetObjectsFrom(x, y); 133 return m_childNodes[0].GetObjectsFrom(x, y);
135 } 134 }
@@ -140,7 +139,7 @@ namespace OpenSim.Region.Environment.Types
140 } 139 }
141 else 140 else
142 { 141 {
143 if (y < m_leftY + (m_height/2)) 142 if (y < m_leftY + (m_height / 2))
144 { 143 {
145 return m_childNodes[1].GetObjectsFrom(x, y); 144 return m_childNodes[1].GetObjectsFrom(x, y);
146 } 145 }
@@ -181,9 +180,9 @@ namespace OpenSim.Region.Environment.Types
181 } 180 }
182 else 181 else
183 { 182 {
184 if (x < m_leftX + (m_width/2)) 183 if (x < m_leftX + (m_width / 2))
185 { 184 {
186 if (y < m_leftY + (m_height/2)) 185 if (y < m_leftY + (m_height / 2))
187 { 186 {
188 return m_childNodes[0].GetNodeID(x, y); 187 return m_childNodes[0].GetNodeID(x, y);
189 } 188 }
@@ -194,7 +193,7 @@ namespace OpenSim.Region.Environment.Types
194 } 193 }
195 else 194 else
196 { 195 {
197 if (y < m_leftY + (m_height/2)) 196 if (y < m_leftY + (m_height / 2))
198 { 197 {
199 return m_childNodes[1].GetNodeID(x, y); 198 return m_childNodes[1].GetNodeID(x, y);
200 } 199 }
@@ -266,4 +265,4 @@ namespace OpenSim.Region.Environment.Types
266 return retVal; 265 return retVal;
267 } 266 }
268 } 267 }
269} 268} \ No newline at end of file
diff --git a/OpenSim/Region/Environment/Types/UpdateQueue.cs b/OpenSim/Region/Environment/Types/UpdateQueue.cs
index ec1ffd2..24fe116 100644
--- a/OpenSim/Region/Environment/Types/UpdateQueue.cs
+++ b/OpenSim/Region/Environment/Types/UpdateQueue.cs
@@ -34,26 +34,70 @@ 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 Queue<SceneObjectPart> m_queue; 40 private readonly List<LLUUID> m_ids;
41 private readonly Queue<SceneObjectPart> m_queue;
41 42
42 private List<LLUUID> m_ids; 43 private readonly object m_syncObject = new object();
43 44
44 private object m_syncObject = new object(); 45 public UpdateQueue()
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 }
45 70
46 public int Count 71 public int Count
47 { 72 {
48 get { return m_queue.Count; } 73 get { return m_queue.Count; }
49 } 74 }
50 75
51 public UpdateQueue() 76 #region ISerializable Members
77
78 [SecurityPermission(SecurityAction.LinkDemand,
79 Flags = SecurityPermissionFlag.SerializationFormatter)]
80 public virtual void GetObjectData(
81 SerializationInfo info, StreamingContext context)
52 { 82 {
53 m_queue = new Queue<SceneObjectPart>(); 83 if (info == null)
54 m_ids = new List<LLUUID>(); 84 {
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);
55 } 97 }
56 98
99 #endregion
100
57 public void Clear() 101 public void Clear()
58 { 102 {
59 lock (m_syncObject) 103 lock (m_syncObject)
@@ -89,46 +133,5 @@ namespace OpenSim.Region.Environment.Types
89 133
90 return part; 134 return part;
91 } 135 }
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 }
133 } 136 }
134} 137} \ No newline at end of file