diff options
author | UbitUmarov | 2015-10-20 18:21:13 +0100 |
---|---|---|
committer | UbitUmarov | 2015-10-20 18:21:13 +0100 |
commit | 3c690711457c96f7f00d15f1ef5055cb7349ffc2 (patch) | |
tree | f963e788b7d8c1124acf7f2783301efb67213cdc /OpenSim/Region | |
parent | store rotation axis locks in MySql and SQlite dbs ( others need to be update... (diff) | |
download | opensim-SC-3c690711457c96f7f00d15f1ef5055cb7349ffc2.zip opensim-SC-3c690711457c96f7f00d15f1ef5055cb7349ffc2.tar.gz opensim-SC-3c690711457c96f7f00d15f1ef5055cb7349ffc2.tar.bz2 opensim-SC-3c690711457c96f7f00d15f1ef5055cb7349ffc2.tar.xz |
also apply axis locks, when creating a prim physics actor
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 6e7b568..4d193ba 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -4880,6 +4880,20 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter | |||
4880 | pa.Friction = Friction; | 4880 | pa.Friction = Friction; |
4881 | pa.Restitution = Restitution; | 4881 | pa.Restitution = Restitution; |
4882 | 4882 | ||
4883 | if(LocalId == ParentGroup.RootPart.LocalId) | ||
4884 | { | ||
4885 | // ugly code: physics should also get a byte and not a Vector3 TODO | ||
4886 | Vector3 lrRotationAxis = Vector3.One; | ||
4887 | if((RotationAxisLocks & (byte)SceneObjectGroup.axisSelect.STATUS_ROTATE_X) != 0 ) | ||
4888 | lrRotationAxis.X = 0f; | ||
4889 | if((RotationAxisLocks & (byte)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y) != 0 ) | ||
4890 | lrRotationAxis.Y = 0f; | ||
4891 | if((RotationAxisLocks & (byte)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z) != 0 ) | ||
4892 | lrRotationAxis.Z = 0f; | ||
4893 | |||
4894 | pa.LockAngularMotion(lrRotationAxis); | ||
4895 | } | ||
4896 | |||
4883 | if (VolumeDetectActive) // change if not the default only | 4897 | if (VolumeDetectActive) // change if not the default only |
4884 | pa.SetVolumeDetect(1); | 4898 | pa.SetVolumeDetect(1); |
4885 | 4899 | ||