diff options
author | dan miller | 2007-09-06 03:31:32 +0000 |
---|---|---|
committer | dan miller | 2007-09-06 03:31:32 +0000 |
commit | 3586beb81bdc1f2355e458f2f6f6e4ea9393158e (patch) | |
tree | 83acf6aa300fab8228c49326f6f66ca447b66b72 | |
parent | Added "force-update" console command (when a region is set as active), which ... (diff) | |
download | opensim-SC-3586beb81bdc1f2355e458f2f6f6e4ea9393158e.zip opensim-SC-3586beb81bdc1f2355e458f2f6f6e4ea9393158e.tar.gz opensim-SC-3586beb81bdc1f2355e458f2f6f6e4ea9393158e.tar.bz2 opensim-SC-3586beb81bdc1f2355e458f2f6f6e4ea9393158e.tar.xz |
fixed mantis bug 375 (copy broken with physics/ODE enabled)
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index f0acf52..4e87032 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -60,7 +60,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
60 | protected Timer m_heartbeatTimer = new Timer(); | 60 | protected Timer m_heartbeatTimer = new Timer(); |
61 | protected Dictionary<LLUUID, ScenePresence> Avatars; | 61 | protected Dictionary<LLUUID, ScenePresence> Avatars; |
62 | protected Dictionary<LLUUID, SceneObjectGroup> Prims; | 62 | protected Dictionary<LLUUID, SceneObjectGroup> Prims; |
63 | protected PhysicsScene phyScene; | 63 | public PhysicsScene phyScene; /// publicized so it can be accessed from SceneObjectGroup. |
64 | protected float timeStep = 0.1f; | 64 | protected float timeStep = 0.1f; |
65 | private Random Rand = new Random(); | 65 | private Random Rand = new Random(); |
66 | private uint _primCount = 702000; | 66 | private uint _primCount = 702000; |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index eead762..1869a63 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -285,6 +285,17 @@ namespace OpenSim.Region.Environment.Scenes | |||
285 | dupe.m_regionHandle = this.m_regionHandle; | 285 | dupe.m_regionHandle = this.m_regionHandle; |
286 | dupe.CopyRootPart(this.m_rootPart); | 286 | dupe.CopyRootPart(this.m_rootPart); |
287 | 287 | ||
288 | /// may need to create a new Physics actor. | ||
289 | if (dupe.RootPart.PhysActor != null) | ||
290 | { | ||
291 | dupe.RootPart.PhysActor = m_scene.phyScene.AddPrim( | ||
292 | new PhysicsVector(dupe.RootPart.AbsolutePosition.X, dupe.RootPart.AbsolutePosition.Y, dupe.RootPart.AbsolutePosition.Z), | ||
293 | new PhysicsVector(dupe.RootPart.Scale.X, dupe.RootPart.Scale.Y, dupe.RootPart.Scale.Z), | ||
294 | new Axiom.Math.Quaternion(dupe.RootPart.RotationOffset.W, dupe.RootPart.RotationOffset.X, | ||
295 | dupe.RootPart.RotationOffset.Y, dupe.RootPart.RotationOffset.Z)); | ||
296 | |||
297 | } | ||
298 | |||
288 | List<SceneObjectPart> partList = new List<SceneObjectPart>(this.m_parts.Values); | 299 | List<SceneObjectPart> partList = new List<SceneObjectPart>(this.m_parts.Values); |
289 | foreach (SceneObjectPart part in partList) | 300 | foreach (SceneObjectPart part in partList) |
290 | { | 301 | { |