diff options
author | Charles Krinke | 2008-09-28 18:36:30 +0000 |
---|---|---|
committer | Charles Krinke | 2008-09-28 18:36:30 +0000 |
commit | 3397236c6c759178bfb77e41ba761fca162a7b5f (patch) | |
tree | acedd8141784442df5c7e682b6a0ee6acebabf37 /OpenSim/Region | |
parent | Mantis #2288 (diff) | |
download | opensim-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/Region')
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) |