diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Primitive.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Primitive.cs | 26 |
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 |