diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs index b0303a3..813f2e1 100644 --- a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs +++ b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs | |||
@@ -253,6 +253,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
253 | 253 | ||
254 | #region Constructors | 254 | #region Constructors |
255 | /// <summary> | 255 | /// <summary> |
256 | /// | ||
257 | /// </summary> | ||
258 | public AllNewSceneObjectPart2() | ||
259 | { | ||
260 | |||
261 | } | ||
262 | |||
263 | /// <summary> | ||
256 | /// Create a completely new SceneObjectPart (prim) | 264 | /// Create a completely new SceneObjectPart (prim) |
257 | /// </summary> | 265 | /// </summary> |
258 | /// <param name="regionHandle"></param> | 266 | /// <param name="regionHandle"></param> |
@@ -315,6 +323,29 @@ namespace OpenSim.Region.Environment.Scenes | |||
315 | } | 323 | } |
316 | #endregion | 324 | #endregion |
317 | 325 | ||
326 | #region Copying | ||
327 | /// <summary> | ||
328 | /// | ||
329 | /// </summary> | ||
330 | /// <returns></returns> | ||
331 | public AllNewSceneObjectPart2 Copy(Scene scene) | ||
332 | { | ||
333 | AllNewSceneObjectPart2 dupe =(AllNewSceneObjectPart2) this.MemberwiseClone(); | ||
334 | dupe.m_Shape = m_Shape.Copy(); | ||
335 | dupe.m_regionHandle = m_regionHandle; | ||
336 | uint newLocalID = scene.PrimIDAllocate(); | ||
337 | dupe.UUID = LLUUID.Random(); | ||
338 | dupe.LocalID = newLocalID; | ||
339 | dupe.OffsetPosition = new LLVector3(OffsetPosition.X, OffsetPosition.Y, OffsetPosition.Z); | ||
340 | dupe.RotationOffset = new LLQuaternion(RotationOffset.X, RotationOffset.Y, RotationOffset.Z, RotationOffset.W); | ||
341 | dupe.Velocity = new LLVector3(0, 0, 0); | ||
342 | dupe.Acceleration = new LLVector3(0, 0, 0); | ||
343 | dupe.AngularVelocity = new LLVector3(0, 0, 0); | ||
344 | dupe.ObjectFlags = this.ObjectFlags; | ||
345 | return dupe; | ||
346 | } | ||
347 | #endregion | ||
348 | |||
318 | #region Update Scheduling | 349 | #region Update Scheduling |
319 | /// <summary> | 350 | /// <summary> |
320 | /// | 351 | /// |
@@ -327,7 +358,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
327 | /// <summary> | 358 | /// <summary> |
328 | /// | 359 | /// |
329 | /// </summary> | 360 | /// </summary> |
330 | private void ScheduleFullUpdate() | 361 | public void ScheduleFullUpdate() |
331 | { | 362 | { |
332 | m_updateFlag = 2; | 363 | m_updateFlag = 2; |
333 | } | 364 | } |
@@ -335,7 +366,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
335 | /// <summary> | 366 | /// <summary> |
336 | /// | 367 | /// |
337 | /// </summary> | 368 | /// </summary> |
338 | private void ScheduleTerseUpdate() | 369 | public void ScheduleTerseUpdate() |
339 | { | 370 | { |
340 | if (m_updateFlag < 1) | 371 | if (m_updateFlag < 1) |
341 | { | 372 | { |