aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorTeravus Ovares2008-12-09 11:11:16 +0000
committerTeravus Ovares2008-12-09 11:11:16 +0000
commit3844e73d2742f4dee633bd2b5a8eb7e1a0d524f9 (patch)
tree11762c8bd9aa512d52de004e46e83a1e8e51e8a9 /OpenSim
parentclean up some old debugging code (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs8
-rw-r--r--OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs5
-rw-r--r--OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs5
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsActor.cs7
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs4
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs5
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs2
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSCharacter.cs5
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSPrim.cs5
-rw-r--r--OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs11
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs8
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>