aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorMelanie2011-06-02 18:32:25 +0200
committerMelanie2011-06-02 18:32:25 +0200
commit61bf2bf2ddce323255d7d009274d8da5a2da54c9 (patch)
tree61541b5db46d72a73675e85f99a4a73c148bb807 /OpenSim/Region/Framework
parentMerge branch 'master' into careminster-presence-refactor (diff)
downloadopensim-SC_OLD-61bf2bf2ddce323255d7d009274d8da5a2da54c9.zip
opensim-SC_OLD-61bf2bf2ddce323255d7d009274d8da5a2da54c9.tar.gz
opensim-SC_OLD-61bf2bf2ddce323255d7d009274d8da5a2da54c9.tar.bz2
opensim-SC_OLD-61bf2bf2ddce323255d7d009274d8da5a2da54c9.tar.xz
Make Buoyancy a prim property
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs3
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs22
2 files changed, 17 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index d3d5d08..74d24a6 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -680,6 +680,9 @@ namespace OpenSim.Region.Framework.Scenes
680 680
681 ApplyPhysics(m_scene.m_physicalPrim); 681 ApplyPhysics(m_scene.m_physicalPrim);
682 682
683 if (RootPart.PhysActor != null)
684 RootPart.Buoyancy = RootPart.Buoyancy;
685
683 // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled 686 // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled
684 // for the same object with very different properties. The caller must schedule the update. 687 // for the same object with very different properties. The caller must schedule the update.
685 //ScheduleGroupForFullUpdate(); 688 //ScheduleGroupForFullUpdate();
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 4e1d6b6..cb321aa 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -338,6 +338,7 @@ namespace OpenSim.Region.Framework.Scenes
338 protected Vector3 m_lastAcceleration; 338 protected Vector3 m_lastAcceleration;
339 protected Vector3 m_lastAngularVelocity; 339 protected Vector3 m_lastAngularVelocity;
340 protected int m_lastTerseSent; 340 protected int m_lastTerseSent;
341 protected float m_buoyancy = 0.0f;
341 342
342 /// <summary> 343 /// <summary>
343 /// Stores media texture data 344 /// Stores media texture data
@@ -1335,6 +1336,19 @@ namespace OpenSim.Region.Framework.Scenes
1335 set { m_collisionSoundVolume = value; } 1336 set { m_collisionSoundVolume = value; }
1336 } 1337 }
1337 1338
1339 public float Buoyancy
1340 {
1341 get { return m_buoyancy; }
1342 set
1343 {
1344 m_buoyancy = value;
1345 if (PhysActor != null)
1346 {
1347 PhysActor.Buoyancy = value;
1348 }
1349 }
1350 }
1351
1338 #endregion Public Properties with only Get 1352 #endregion Public Properties with only Get
1339 1353
1340 #region Private Methods 1354 #region Private Methods
@@ -3275,14 +3289,6 @@ namespace OpenSim.Region.Framework.Scenes
3275 STATUS_ROTATE_Z = rotate; 3289 STATUS_ROTATE_Z = rotate;
3276 } 3290 }
3277 3291
3278 public void SetBuoyancy(float fvalue)
3279 {
3280 if (PhysActor != null)
3281 {
3282 PhysActor.Buoyancy = fvalue;
3283 }
3284 }
3285
3286 public void SetDieAtEdge(bool p) 3292 public void SetDieAtEdge(bool p)
3287 { 3293 {
3288 if (m_parentGroup == null) 3294 if (m_parentGroup == null)