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 | |
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')
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) |