aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Primitive.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Primitive.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/Primitive.cs26
1 files changed, 24 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Primitive.cs b/OpenSim/Region/Environment/Scenes/Primitive.cs
index e20870f..79d5785 100644
--- a/OpenSim/Region/Environment/Scenes/Primitive.cs
+++ b/OpenSim/Region/Environment/Scenes/Primitive.cs
@@ -45,6 +45,8 @@ namespace OpenSim.Region.Environment.Scenes
45 public bool m_isRootPrim; 45 public bool m_isRootPrim;
46 public EntityBase m_Parent; 46 public EntityBase m_Parent;
47 47
48 private ParcelManager m_parcelManager;
49
48 #region Properties 50 #region Properties
49 /// <summary> 51 /// <summary>
50 /// If rootprim, will return world position 52 /// If rootprim, will return world position
@@ -130,10 +132,12 @@ namespace OpenSim.Region.Environment.Scenes
130 /// <param name="isRoot"></param> 132 /// <param name="isRoot"></param>
131 /// <param name="parent"></param> 133 /// <param name="parent"></param>
132 /// <param name="rootObject"></param> 134 /// <param name="rootObject"></param>
133 public Primitive(ulong regionHandle, Scene world, LLUUID ownerID, uint localID, bool isRoot, EntityBase parent, SceneObject rootObject, PrimitiveBaseShape shape, LLVector3 pos) 135 public Primitive(ulong regionHandle, Scene world, ParcelManager parcelManager, LLUUID ownerID, uint localID, bool isRoot, EntityBase parent, SceneObject rootObject, PrimitiveBaseShape shape, LLVector3 pos)
134 { 136 {
137
135 m_regionHandle = regionHandle; 138 m_regionHandle = regionHandle;
136 m_world = world; 139 m_world = world;
140 m_parcelManager = parcelManager;
137 inventoryItems = new Dictionary<LLUUID, InventoryItem>(); 141 inventoryItems = new Dictionary<LLUUID, InventoryItem>();
138 this.m_Parent = parent; 142 this.m_Parent = parent;
139 this.m_isRootPrim = isRoot; 143 this.m_isRootPrim = isRoot;
@@ -141,6 +145,9 @@ namespace OpenSim.Region.Environment.Scenes
141 145
142 this.CreateFromShape(ownerID, localID, pos, shape); 146 this.CreateFromShape(ownerID, localID, pos, shape);
143 this.Rotation = Axiom.Math.Quaternion.Identity; 147 this.Rotation = Axiom.Math.Quaternion.Identity;
148
149
150 m_parcelManager.setPrimsTainted();
144 } 151 }
145 152
146 /// <summary> 153 /// <summary>
@@ -149,11 +156,19 @@ namespace OpenSim.Region.Environment.Scenes
149 /// <remarks>Empty constructor for duplication</remarks> 156 /// <remarks>Empty constructor for duplication</remarks>
150 public Primitive() 157 public Primitive()
151 { 158 {
152 159 m_parcelManager.setPrimsTainted();
153 } 160 }
154 161
155 #endregion 162 #endregion
156 163
164 #region Destructors
165
166 ~Primitive()
167 {
168 m_parcelManager.setPrimsTainted();
169 }
170 #endregion
171
157 #region Duplication 172 #region Duplication
158 173
159 public Primitive Copy(EntityBase parent, SceneObject rootParent) 174 public Primitive Copy(EntityBase parent, SceneObject rootParent)
@@ -260,6 +275,8 @@ namespace OpenSim.Region.Environment.Scenes
260 275
261 this.m_world.DeleteEntity(linkObject.rootUUID); 276 this.m_world.DeleteEntity(linkObject.rootUUID);
262 linkObject.DeleteAllChildren(); 277 linkObject.DeleteAllChildren();
278
279 m_parcelManager.setPrimsTainted();
263 } 280 }
264 281
265 /// <summary> 282 /// <summary>
@@ -335,6 +352,7 @@ namespace OpenSim.Region.Environment.Scenes
335 prim.m_pos += offset; 352 prim.m_pos += offset;
336 prim.updateFlag = 2; 353 prim.updateFlag = 2;
337 } 354 }
355 m_parcelManager.setPrimsTainted();
338 } 356 }
339 357
340 /// <summary> 358 /// <summary>
@@ -385,6 +403,8 @@ namespace OpenSim.Region.Environment.Scenes
385 403
386 this.Pos = newPos; 404 this.Pos = newPos;
387 this.updateFlag = 2; 405 this.updateFlag = 2;
406
407 m_parcelManager.setPrimsTainted();
388 } 408 }
389 409
390 /// <summary> 410 /// <summary>
@@ -419,6 +439,8 @@ namespace OpenSim.Region.Environment.Scenes
419 this.m_pos = newPos; 439 this.m_pos = newPos;
420 this.updateFlag = 2; 440 this.updateFlag = 2;
421 } 441 }
442
443 m_parcelManager.setPrimsTainted();
422 } 444 }
423 445
424 #endregion 446 #endregion