aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorCharles Krinke2008-09-28 18:36:30 +0000
committerCharles Krinke2008-09-28 18:36:30 +0000
commit3397236c6c759178bfb77e41ba761fca162a7b5f (patch)
treeacedd8141784442df5c7e682b6a0ee6acebabf37 /OpenSim
parentMantis #2288 (diff)
downloadopensim-SC-3397236c6c759178bfb77e41ba761fca162a7b5f.zip
opensim-SC-3397236c6c759178bfb77e41ba761fca162a7b5f.tar.gz
opensim-SC-3397236c6c759178bfb77e41ba761fca162a7b5f.tar.bz2
opensim-SC-3397236c6c759178bfb77e41ba761fca162a7b5f.tar.xz
Plumb the connection through from llSetVehicleFloatParam
to the various physics engines. No connection to the underlying physics simulator yet, just plumbing through the various classes.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs8
-rw-r--r--OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs6
-rw-r--r--OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs6
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsActor.cs11
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs6
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs6
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSCharacter.cs6
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSPrim.cs6
-rw-r--r--OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs12
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs9
10 files changed, 73 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 5c22367..302bda3 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -2337,6 +2337,14 @@ namespace OpenSim.Region.Environment.Scenes
2337 } 2337 }
2338 } 2338 }
2339 2339
2340 public void SetVehicleFloatParam(float value)
2341 {
2342 if (PhysActor != null)
2343 {
2344 PhysActor.VehicleFloatParam = value;
2345 }
2346 }
2347
2340 public void SetGroup(UUID groupID, IClientAPI client) 2348 public void SetGroup(UUID groupID, IClientAPI client)
2341 { 2349 {
2342 _groupID = groupID; 2350 _groupID = groupID;
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
index e38a12b..23b7518 100644
--- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
+++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
@@ -335,6 +335,12 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
335 set { return; } 335 set { return; }
336 } 336 }
337 337
338 public override float VehicleFloatParam
339 {
340 get { return 0f; }
341 set { return; }
342 }
343
338 public override PhysicsVector CenterOfMass 344 public override PhysicsVector CenterOfMass
339 { 345 {
340 get { return PhysicsVector.Zero; } 346 get { return PhysicsVector.Zero; }
diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
index c969f9a..39fab43 100644
--- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
+++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
@@ -950,6 +950,12 @@ namespace OpenSim.Region.Physics.BulletXPlugin
950 set { return; } 950 set { return; }
951 } 951 }
952 952
953 public override float VehicleFloatParam
954 {
955 get { return 0f; }
956 set { return; }
957 }
958
953 public override PhysicsVector CenterOfMass 959 public override PhysicsVector CenterOfMass
954 { 960 {
955 get { return PhysicsVector.Zero; } 961 get { return PhysicsVector.Zero; }
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
index 482b478..16825a9 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
@@ -174,6 +174,9 @@ namespace OpenSim.Region.Physics.Manager
174 public abstract PhysicsVector Position { get; set; } 174 public abstract PhysicsVector Position { get; set; }
175 public abstract float Mass { get; } 175 public abstract float Mass { get; }
176 public abstract PhysicsVector Force { get; set; } 176 public abstract PhysicsVector Force { get; set; }
177
178 public abstract float VehicleFloatParam { get; set; }
179
177 public abstract PhysicsVector GeometricCenter { get; } 180 public abstract PhysicsVector GeometricCenter { get; }
178 public abstract PhysicsVector CenterOfMass { get; } 181 public abstract PhysicsVector CenterOfMass { get; }
179 public abstract PhysicsVector Velocity { get; set; } 182 public abstract PhysicsVector Velocity { get; set; }
@@ -195,8 +198,6 @@ namespace OpenSim.Region.Physics.Manager
195 public abstract PhysicsVector PIDTarget { set;} 198 public abstract PhysicsVector PIDTarget { set;}
196 public abstract bool PIDActive { set;} 199 public abstract bool PIDActive { set;}
197 public abstract float PIDTau { set; } 200 public abstract float PIDTau { set; }
198
199
200 public abstract void AddForce(PhysicsVector force, bool pushforce); 201 public abstract void AddForce(PhysicsVector force, bool pushforce);
201 public abstract void SetMomentum(PhysicsVector momentum); 202 public abstract void SetMomentum(PhysicsVector momentum);
202 public abstract void SubscribeEvents(int ms); 203 public abstract void SubscribeEvents(int ms);
@@ -278,6 +279,12 @@ namespace OpenSim.Region.Physics.Manager
278 set { return; } 279 set { return; }
279 } 280 }
280 281
282 public override float VehicleFloatParam
283 {
284 get { return 0f; }
285 set { return; }
286 }
287
281 public override PhysicsVector CenterOfMass 288 public override PhysicsVector CenterOfMass
282 { 289 {
283 get { return PhysicsVector.Zero; } 290 get { return PhysicsVector.Zero; }
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
index 38d4060..6c1c876 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
@@ -537,6 +537,12 @@ namespace OpenSim.Region.Physics.OdePlugin
537 set { return; } 537 set { return; }
538 } 538 }
539 539
540 public override float VehicleFloatParam
541 {
542 get { return 0f; }
543 set { return; }
544 }
545
540 public override PhysicsVector CenterOfMass 546 public override PhysicsVector CenterOfMass
541 { 547 {
542 get { return PhysicsVector.Zero; } 548 get { return PhysicsVector.Zero; }
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index 2e75486..a6116de 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -1876,6 +1876,12 @@ namespace OpenSim.Region.Physics.OdePlugin
1876 set { m_force = value; } 1876 set { m_force = value; }
1877 } 1877 }
1878 1878
1879 public override float VehicleFloatParam
1880 {
1881 get { return 0f; }
1882 set { return; }
1883 }
1884
1879 public override PhysicsVector CenterOfMass 1885 public override PhysicsVector CenterOfMass
1880 { 1886 {
1881 get { return PhysicsVector.Zero; } 1887 get { return PhysicsVector.Zero; }
diff --git a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs
index 400280f..6ab5d88 100644
--- a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs
+++ b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs
@@ -159,6 +159,12 @@ namespace OpenSim.Region.Physics.POSPlugin
159 set { return; } 159 set { return; }
160 } 160 }
161 161
162 public override float VehicleFloatParam
163 {
164 get { return 0f; }
165 set { return; }
166 }
167
162 public override PhysicsVector CenterOfMass 168 public override PhysicsVector CenterOfMass
163 { 169 {
164 get { return PhysicsVector.Zero; } 170 get { return PhysicsVector.Zero; }
diff --git a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs
index 69cd19c..c5cb91a 100644
--- a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs
+++ b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs
@@ -121,6 +121,12 @@ namespace OpenSim.Region.Physics.POSPlugin
121 set { return; } 121 set { return; }
122 } 122 }
123 123
124 public override float VehicleFloatParam
125 {
126 get { return 0f; }
127 set { return; }
128 }
129
124 public override PhysicsVector CenterOfMass 130 public override PhysicsVector CenterOfMass
125 { 131 {
126 get { return PhysicsVector.Zero; } 132 get { return PhysicsVector.Zero; }
diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs
index 37e2a2f..4ce2130 100644
--- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs
+++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs
@@ -343,6 +343,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin
343 set { return; } 343 set { return; }
344 } 344 }
345 345
346 public override float VehicleFloatParam
347 {
348 get { return 0f; }
349 set { return; }
350 }
351
346 public override PhysicsVector CenterOfMass 352 public override PhysicsVector CenterOfMass
347 { 353 {
348 get { return PhysicsVector.Zero; } 354 get { return PhysicsVector.Zero; }
@@ -673,6 +679,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin
673 set { return; } 679 set { return; }
674 } 680 }
675 681
682 public override float VehicleFloatParam
683 {
684 get { return 0f; }
685 set { return; }
686 }
687
676 public override PhysicsVector CenterOfMass 688 public override PhysicsVector CenterOfMass
677 { 689 {
678 get { return PhysicsVector.Zero; } 690 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 34d888d..c3939f0 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -5171,7 +5171,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5171 public void llSetVehicleFloatParam(int param, float value) 5171 public void llSetVehicleFloatParam(int param, float value)
5172 { 5172 {
5173 m_host.AddScriptLPS(1); 5173 m_host.AddScriptLPS(1);
5174 NotImplemented("llSetVehicleFloatParam"); 5174
5175 if (m_host.ParentGroup != null)
5176 {
5177 if (m_host.ParentGroup.RootPart != null)
5178 {
5179 m_host.ParentGroup.RootPart.SetVehicleFloatParam(value);
5180 }
5181 }
5175 } 5182 }
5176 5183
5177 public void llSetVehicleVectorParam(int param, LSL_Vector vec) 5184 public void llSetVehicleVectorParam(int param, LSL_Vector vec)