aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r--OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs12
-rw-r--r--OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs14
2 files changed, 15 insertions, 11 deletions
diff --git a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
index 8ed04d9..3eb34b4 100644
--- a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
+++ b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
@@ -94,16 +94,24 @@ namespace OpenSim.Region.Environment.Scenes
94 return dupe; 94 return dupe;
95 } 95 }
96 96
97 /// <summary>
98 ///
99 /// </summary>
100 /// <param name="part"></param>
97 public void CopyRootPart(AllNewSceneObjectPart2 part) 101 public void CopyRootPart(AllNewSceneObjectPart2 part)
98 { 102 {
99 AllNewSceneObjectPart2 newPart = part.Copy(m_scene); 103 AllNewSceneObjectPart2 newPart = part.Copy(m_scene.PrimIDAllocate());
100 this.m_parts.Add(newPart.UUID, newPart); 104 this.m_parts.Add(newPart.UUID, newPart);
101 this.SetPartAsRoot(newPart); 105 this.SetPartAsRoot(newPart);
102 } 106 }
103 107
108 /// <summary>
109 ///
110 /// </summary>
111 /// <param name="part"></param>
104 public void CopyPart(AllNewSceneObjectPart2 part) 112 public void CopyPart(AllNewSceneObjectPart2 part)
105 { 113 {
106 AllNewSceneObjectPart2 newPart = part.Copy(m_scene); 114 AllNewSceneObjectPart2 newPart = part.Copy(m_scene.PrimIDAllocate());
107 this.m_parts.Add(newPart.UUID, newPart); 115 this.m_parts.Add(newPart.UUID, newPart);
108 this.SetPartAsNonRoot(newPart); 116 this.SetPartAsNonRoot(newPart);
109 } 117 }
diff --git a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs
index 65b4287..42acab9 100644
--- a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs
+++ b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectPart2.cs
@@ -27,7 +27,7 @@ namespace OpenSim.Region.Environment.Scenes
27 public uint EveryoneMask = FULL_MASK_PERMISSIONS; 27 public uint EveryoneMask = FULL_MASK_PERMISSIONS;
28 public uint BaseMask = FULL_MASK_PERMISSIONS; 28 public uint BaseMask = FULL_MASK_PERMISSIONS;
29 29
30 protected PrimitiveBaseShape m_shape; 30
31 protected byte[] m_particleSystem = new byte[0]; 31 protected byte[] m_particleSystem = new byte[0];
32 32
33 protected AllNewSceneObjectGroup2 m_parentGroup; 33 protected AllNewSceneObjectGroup2 m_parentGroup;
@@ -54,9 +54,6 @@ namespace OpenSim.Region.Environment.Scenes
54 } 54 }
55 55
56 protected string m_name; 56 protected string m_name;
57 /// <summary>
58 ///
59 /// </summary>
60 public virtual string Name 57 public virtual string Name
61 { 58 {
62 get { return m_name; } 59 get { return m_name; }
@@ -154,9 +151,9 @@ namespace OpenSim.Region.Environment.Scenes
154 set { m_touchName = value; } 151 set { m_touchName = value; }
155 } 152 }
156 153
154 protected PrimitiveBaseShape m_shape;
157 public PrimitiveBaseShape Shape 155 public PrimitiveBaseShape Shape
158 { 156 {
159
160 get { return this.m_shape; } 157 get { return this.m_shape; }
161 set { m_shape = value; } 158 set { m_shape = value; }
162 } 159 }
@@ -245,14 +242,13 @@ namespace OpenSim.Region.Environment.Scenes
245 /// 242 ///
246 /// </summary> 243 /// </summary>
247 /// <returns></returns> 244 /// <returns></returns>
248 public AllNewSceneObjectPart2 Copy(Scene scene) 245 public AllNewSceneObjectPart2 Copy(uint localID)
249 { 246 {
250 AllNewSceneObjectPart2 dupe = (AllNewSceneObjectPart2)this.MemberwiseClone(); 247 AllNewSceneObjectPart2 dupe = (AllNewSceneObjectPart2)this.MemberwiseClone();
251 dupe.m_shape = m_shape.Copy(); 248 dupe.m_shape = m_shape.Copy();
252 dupe.m_regionHandle = m_regionHandle; 249 dupe.m_regionHandle = m_regionHandle;
253 uint newLocalID = scene.PrimIDAllocate();
254 dupe.UUID = LLUUID.Random(); 250 dupe.UUID = LLUUID.Random();
255 dupe.LocalID = newLocalID; 251 dupe.LocalID = localID;
256 dupe.OffsetPosition = new LLVector3(OffsetPosition.X, OffsetPosition.Y, OffsetPosition.Z); 252 dupe.OffsetPosition = new LLVector3(OffsetPosition.X, OffsetPosition.Y, OffsetPosition.Z);
257 dupe.RotationOffset = new LLQuaternion(RotationOffset.X, RotationOffset.Y, RotationOffset.Z, RotationOffset.W); 253 dupe.RotationOffset = new LLQuaternion(RotationOffset.X, RotationOffset.Y, RotationOffset.Z, RotationOffset.W);
258 dupe.Velocity = new LLVector3(0, 0, 0); 254 dupe.Velocity = new LLVector3(0, 0, 0);
@@ -303,7 +299,7 @@ namespace OpenSim.Region.Environment.Scenes
303 } 299 }
304 else 300 else
305 { 301 {
306 if (m_updateFlag == 2) // is a new prim just been created/reloaded or has major changes 302 if (m_updateFlag == 2) // is a new prim, just created/reloaded or has major changes
307 { 303 {
308 SendFullUpdateToAllClients(); 304 SendFullUpdateToAllClients();
309 ClearUpdateSchedule(); 305 ClearUpdateSchedule();