diff options
author | Teravus Ovares | 2008-12-09 11:11:16 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-12-09 11:11:16 +0000 |
commit | 3844e73d2742f4dee633bd2b5a8eb7e1a0d524f9 (patch) | |
tree | 11762c8bd9aa512d52de004e46e83a1e8e51e8a9 /OpenSim | |
parent | clean up some old debugging code (diff) | |
download | opensim-SC-3844e73d2742f4dee633bd2b5a8eb7e1a0d524f9.zip opensim-SC-3844e73d2742f4dee633bd2b5a8eb7e1a0d524f9.tar.gz opensim-SC-3844e73d2742f4dee633bd2b5a8eb7e1a0d524f9.tar.bz2 opensim-SC-3844e73d2742f4dee633bd2b5a8eb7e1a0d524f9.tar.xz |
* Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.
* Warning! Physics API change. This means that the NBodySimulation needs to be updated!
* PhysicsActor -> void SetVolumeDetect(int) needs to go into classes that use PhysicsActor as their base class.
Diffstat (limited to 'OpenSim')
11 files changed, 63 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 2fc379c..efc9289 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -2366,6 +2366,14 @@ if (m_shape != null) { | |||
2366 | } | 2366 | } |
2367 | } | 2367 | } |
2368 | 2368 | ||
2369 | public void SetVolumeDetect(int param) | ||
2370 | { | ||
2371 | if (PhysActor != null) | ||
2372 | { | ||
2373 | PhysActor.SetVolumeDetect(param); | ||
2374 | } | ||
2375 | } | ||
2376 | |||
2369 | public void SetGroup(UUID groupID, IClientAPI client) | 2377 | public void SetGroup(UUID groupID, IClientAPI client) |
2370 | { | 2378 | { |
2371 | _groupID = groupID; | 2379 | _groupID = groupID; |
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs index 6a27f46..9954798 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs | |||
@@ -360,6 +360,11 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
360 | 360 | ||
361 | } | 361 | } |
362 | 362 | ||
363 | public override void SetVolumeDetect(int param) | ||
364 | { | ||
365 | |||
366 | } | ||
367 | |||
363 | public override PhysicsVector CenterOfMass | 368 | public override PhysicsVector CenterOfMass |
364 | { | 369 | { |
365 | get { return PhysicsVector.Zero; } | 370 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs index 9e7b459..20c556f 100644 --- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs +++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs | |||
@@ -971,6 +971,11 @@ namespace OpenSim.Region.Physics.BulletXPlugin | |||
971 | 971 | ||
972 | } | 972 | } |
973 | 973 | ||
974 | public override void SetVolumeDetect(int param) | ||
975 | { | ||
976 | |||
977 | } | ||
978 | |||
974 | public override PhysicsVector CenterOfMass | 979 | public override PhysicsVector CenterOfMass |
975 | { | 980 | { |
976 | get { return PhysicsVector.Zero; } | 981 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index 5b51203..3c094ad 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs | |||
@@ -180,6 +180,8 @@ namespace OpenSim.Region.Physics.Manager | |||
180 | public abstract void VehicleVectorParam(int param, PhysicsVector value); | 180 | public abstract void VehicleVectorParam(int param, PhysicsVector value); |
181 | public abstract void VehicleRotationParam(int param, Quaternion rotation); | 181 | public abstract void VehicleRotationParam(int param, Quaternion rotation); |
182 | 182 | ||
183 | public abstract void SetVolumeDetect(int param); // Allows the detection of collisions with inherently non-physical prims. see llVolumeDetect for more | ||
184 | |||
183 | public abstract PhysicsVector GeometricCenter { get; } | 185 | public abstract PhysicsVector GeometricCenter { get; } |
184 | public abstract PhysicsVector CenterOfMass { get; } | 186 | public abstract PhysicsVector CenterOfMass { get; } |
185 | public abstract PhysicsVector Velocity { get; set; } | 187 | public abstract PhysicsVector Velocity { get; set; } |
@@ -303,6 +305,11 @@ namespace OpenSim.Region.Physics.Manager | |||
303 | 305 | ||
304 | } | 306 | } |
305 | 307 | ||
308 | public override void SetVolumeDetect(int param) | ||
309 | { | ||
310 | |||
311 | } | ||
312 | |||
306 | public override PhysicsVector CenterOfMass | 313 | public override PhysicsVector CenterOfMass |
307 | { | 314 | { |
308 | get { return PhysicsVector.Zero; } | 315 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index ed95886..6957cca 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -560,6 +560,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
560 | 560 | ||
561 | } | 561 | } |
562 | 562 | ||
563 | public override void SetVolumeDetect(int param) | ||
564 | { | ||
565 | |||
566 | } | ||
563 | 567 | ||
564 | public override PhysicsVector CenterOfMass | 568 | public override PhysicsVector CenterOfMass |
565 | { | 569 | { |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 0a461e9..b7e4302 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -2099,6 +2099,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
2099 | 2099 | ||
2100 | } | 2100 | } |
2101 | 2101 | ||
2102 | public override void SetVolumeDetect(int param) | ||
2103 | { | ||
2104 | |||
2105 | } | ||
2106 | |||
2102 | public override PhysicsVector CenterOfMass | 2107 | public override PhysicsVector CenterOfMass |
2103 | { | 2108 | { |
2104 | get { return PhysicsVector.Zero; } | 2109 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 031848c..a875d84 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -261,7 +261,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
261 | public int physics_logging_interval = 0; | 261 | public int physics_logging_interval = 0; |
262 | public bool physics_logging_append_existing_logfile = false; | 262 | public bool physics_logging_append_existing_logfile = false; |
263 | 263 | ||
264 | public d.Vector3 xyz = new d.Vector3(2.1640f, -1.3079f, 1.7600f); | 264 | public d.Vector3 xyz = new d.Vector3(128.1640f, 128.3079f, 25.7600f); |
265 | public d.Vector3 hpr = new d.Vector3(125.5000f, -17.0000f, 0.0000f); | 265 | public d.Vector3 hpr = new d.Vector3(125.5000f, -17.0000f, 0.0000f); |
266 | 266 | ||
267 | /// <summary> | 267 | /// <summary> |
diff --git a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs index 8c185fc..ab66d4c 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs | |||
@@ -185,6 +185,11 @@ namespace OpenSim.Region.Physics.POSPlugin | |||
185 | 185 | ||
186 | } | 186 | } |
187 | 187 | ||
188 | public override void SetVolumeDetect(int param) | ||
189 | { | ||
190 | |||
191 | } | ||
192 | |||
188 | public override PhysicsVector CenterOfMass | 193 | public override PhysicsVector CenterOfMass |
189 | { | 194 | { |
190 | get { return PhysicsVector.Zero; } | 195 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs index 873529e..fdd095f 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs | |||
@@ -142,6 +142,11 @@ namespace OpenSim.Region.Physics.POSPlugin | |||
142 | 142 | ||
143 | } | 143 | } |
144 | 144 | ||
145 | public override void SetVolumeDetect(int param) | ||
146 | { | ||
147 | |||
148 | } | ||
149 | |||
145 | public override PhysicsVector CenterOfMass | 150 | public override PhysicsVector CenterOfMass |
146 | { | 151 | { |
147 | get { return PhysicsVector.Zero; } | 152 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs index 2d35ff0..940c9bc 100644 --- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs +++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs | |||
@@ -364,6 +364,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin | |||
364 | 364 | ||
365 | } | 365 | } |
366 | 366 | ||
367 | public override void SetVolumeDetect(int param) | ||
368 | { | ||
369 | |||
370 | } | ||
371 | |||
372 | |||
367 | public override PhysicsVector CenterOfMass | 373 | public override PhysicsVector CenterOfMass |
368 | { | 374 | { |
369 | get { return PhysicsVector.Zero; } | 375 | get { return PhysicsVector.Zero; } |
@@ -715,6 +721,11 @@ namespace OpenSim.Region.Physics.PhysXPlugin | |||
715 | 721 | ||
716 | } | 722 | } |
717 | 723 | ||
724 | public override void SetVolumeDetect(int param) | ||
725 | { | ||
726 | |||
727 | } | ||
728 | |||
718 | public override PhysicsVector CenterOfMass | 729 | public override PhysicsVector CenterOfMass |
719 | { | 730 | { |
720 | get { return PhysicsVector.Zero; } | 731 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index a9feb4b..43ffb30 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -5671,7 +5671,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5671 | public void llVolumeDetect(int detect) | 5671 | public void llVolumeDetect(int detect) |
5672 | { | 5672 | { |
5673 | m_host.AddScriptLPS(1); | 5673 | m_host.AddScriptLPS(1); |
5674 | NotImplemented("llVolumeDetect"); | 5674 | if (m_host.ParentGroup != null) |
5675 | { | ||
5676 | if (!m_host.ParentGroup.IsDeleted) | ||
5677 | { | ||
5678 | m_host.ParentGroup.RootPart.SetVolumeDetect(detect); | ||
5679 | } | ||
5680 | } | ||
5675 | } | 5681 | } |
5676 | 5682 | ||
5677 | /// <summary> | 5683 | /// <summary> |