aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorUbitUmarov2017-04-01 17:49:17 +0100
committerUbitUmarov2017-04-01 17:49:17 +0100
commit443fc60cdf399a49832e787ca58c2644bef7e457 (patch)
tree103b547e95ced12fbc22109b82ac692f92068002 /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
parent add missing file. Changes of inertia data of objects running does not (diff)
downloadopensim-SC_OLD-443fc60cdf399a49832e787ca58c2644bef7e457.zip
opensim-SC_OLD-443fc60cdf399a49832e787ca58c2644bef7e457.tar.gz
opensim-SC_OLD-443fc60cdf399a49832e787ca58c2644bef7e457.tar.bz2
opensim-SC_OLD-443fc60cdf399a49832e787ca58c2644bef7e457.tar.xz
store the physics inertia override in Mysql and add it to serializer. run prebuild is required
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs21
1 files changed, 20 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index bf0e31b..46b7b86 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -406,6 +406,8 @@ namespace OpenSim.Region.Framework.Scenes
406 406
407 private SOPVehicle m_vehicleParams = null; 407 private SOPVehicle m_vehicleParams = null;
408 408
409 private PhysicsInertiaData m_physicsInertia;
410
409 public KeyframeMotion KeyframeMotion 411 public KeyframeMotion KeyframeMotion
410 { 412 {
411 get; set; 413 get; set;
@@ -3548,6 +3550,18 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
3548 Force = force; 3550 Force = force;
3549 } 3551 }
3550 3552
3553 public PhysicsInertiaData PhysicsInertia
3554 {
3555 get
3556 {
3557 return m_physicsInertia;
3558 }
3559 set
3560 {
3561 m_physicsInertia = value;
3562 }
3563 }
3564
3551 public SOPVehicle VehicleParams 3565 public SOPVehicle VehicleParams
3552 { 3566 {
3553 get 3567 get
@@ -4748,8 +4762,13 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
4748 4762
4749 if (VolumeDetectActive) // change if not the default only 4763 if (VolumeDetectActive) // change if not the default only
4750 pa.SetVolumeDetect(1); 4764 pa.SetVolumeDetect(1);
4765
4766 bool isroot = (m_localId == ParentGroup.RootPart.LocalId);
4767
4768 if(isroot && m_physicsInertia != null)
4769 pa.SetInertiaData(m_physicsInertia);
4751 4770
4752 if (m_vehicleParams != null && m_localId == ParentGroup.RootPart.LocalId) 4771 if (isroot && m_vehicleParams != null )
4753 { 4772 {
4754 m_vehicleParams.SetVehicle(pa); 4773 m_vehicleParams.SetVehicle(pa);
4755 if(isPhysical && !isPhantom && m_vehicleParams.CameraDecoupled) 4774 if(isPhysical && !isPhantom && m_vehicleParams.CameraDecoupled)