diff options
author | Charles Krinke | 2008-09-28 21:53:56 +0000 |
---|---|---|
committer | Charles Krinke | 2008-09-28 21:53:56 +0000 |
commit | ebbbd37605e2954c877454ed8cafd4027f0bdc10 (patch) | |
tree | 7e8dfed49511939877ffd9fec6981d3be29864e4 /OpenSim | |
parent | A little bit further with LLSetVehicleVectorParam. (diff) | |
download | opensim-SC-ebbbd37605e2954c877454ed8cafd4027f0bdc10.zip opensim-SC-ebbbd37605e2954c877454ed8cafd4027f0bdc10.tar.gz opensim-SC-ebbbd37605e2954c877454ed8cafd4027f0bdc10.tar.bz2 opensim-SC-ebbbd37605e2954c877454ed8cafd4027f0bdc10.tar.xz |
Added the plumbing for llSetVehicleRotationParam
in the classes between the LSL implementation and the
underlying physics engines.
Diffstat (limited to 'OpenSim')
10 files changed, 69 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index e76952a..68df0e4 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -2353,6 +2353,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
2353 | } | 2353 | } |
2354 | } | 2354 | } |
2355 | 2355 | ||
2356 | public void SetVehicleRotationParam(int param, Quaternion rotation) | ||
2357 | { | ||
2358 | if (PhysActor != null) | ||
2359 | { | ||
2360 | PhysActor.VehicleRotationParam(param, rotation); | ||
2361 | } | ||
2362 | } | ||
2363 | |||
2356 | public void SetGroup(UUID groupID, IClientAPI client) | 2364 | public void SetGroup(UUID groupID, IClientAPI client) |
2357 | { | 2365 | { |
2358 | _groupID = groupID; | 2366 | _groupID = groupID; |
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs index c75c40e..96543da 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs | |||
@@ -345,6 +345,11 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
345 | 345 | ||
346 | } | 346 | } |
347 | 347 | ||
348 | public override void VehicleRotationParam(int param, Quaternion rotation) | ||
349 | { | ||
350 | |||
351 | } | ||
352 | |||
348 | public override PhysicsVector CenterOfMass | 353 | public override PhysicsVector CenterOfMass |
349 | { | 354 | { |
350 | get { return PhysicsVector.Zero; } | 355 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs index acd4cb1..e62f966 100644 --- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs +++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs | |||
@@ -959,6 +959,11 @@ namespace OpenSim.Region.Physics.BulletXPlugin | |||
959 | { | 959 | { |
960 | 960 | ||
961 | } | 961 | } |
962 | |||
963 | public override void VehicleRotationParam(int param, OpenMetaverse.Quaternion rotation) | ||
964 | { | ||
965 | |||
966 | } | ||
962 | 967 | ||
963 | public override PhysicsVector CenterOfMass | 968 | public override PhysicsVector CenterOfMass |
964 | { | 969 | { |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index c5e6c8b..44d4df7 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs | |||
@@ -177,6 +177,7 @@ namespace OpenSim.Region.Physics.Manager | |||
177 | 177 | ||
178 | public abstract void VehicleFloatParam(int param, float value); | 178 | public abstract void VehicleFloatParam(int param, float value); |
179 | public abstract void VehicleVectorParam(int param, PhysicsVector value); | 179 | public abstract void VehicleVectorParam(int param, PhysicsVector value); |
180 | public abstract void VehicleRotationParam(int param, Quaternion rotation); | ||
180 | 181 | ||
181 | public abstract PhysicsVector GeometricCenter { get; } | 182 | public abstract PhysicsVector GeometricCenter { get; } |
182 | public abstract PhysicsVector CenterOfMass { get; } | 183 | public abstract PhysicsVector CenterOfMass { get; } |
@@ -290,6 +291,11 @@ namespace OpenSim.Region.Physics.Manager | |||
290 | 291 | ||
291 | } | 292 | } |
292 | 293 | ||
294 | public override void VehicleRotationParam(int param, Quaternion rotation) | ||
295 | { | ||
296 | |||
297 | } | ||
298 | |||
293 | public override PhysicsVector CenterOfMass | 299 | public override PhysicsVector CenterOfMass |
294 | { | 300 | { |
295 | get { return PhysicsVector.Zero; } | 301 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index b6dbac0..6af0781 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -547,6 +547,12 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
547 | 547 | ||
548 | } | 548 | } |
549 | 549 | ||
550 | public override void VehicleRotationParam(int param, Quaternion rotation) | ||
551 | { | ||
552 | |||
553 | } | ||
554 | |||
555 | |||
550 | public override PhysicsVector CenterOfMass | 556 | public override PhysicsVector CenterOfMass |
551 | { | 557 | { |
552 | get { return PhysicsVector.Zero; } | 558 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 3af73cd..9db7e8b 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -1886,6 +1886,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1886 | 1886 | ||
1887 | } | 1887 | } |
1888 | 1888 | ||
1889 | public override void VehicleRotationParam(int param, Quaternion rotation) | ||
1890 | { | ||
1891 | |||
1892 | } | ||
1893 | |||
1889 | public override PhysicsVector CenterOfMass | 1894 | public override PhysicsVector CenterOfMass |
1890 | { | 1895 | { |
1891 | get { return PhysicsVector.Zero; } | 1896 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs index 719d4cf..9719a05 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs | |||
@@ -169,6 +169,11 @@ namespace OpenSim.Region.Physics.POSPlugin | |||
169 | 169 | ||
170 | } | 170 | } |
171 | 171 | ||
172 | public override void VehicleRotationParam(int param, Quaternion rotation) | ||
173 | { | ||
174 | |||
175 | } | ||
176 | |||
172 | public override PhysicsVector CenterOfMass | 177 | public override PhysicsVector CenterOfMass |
173 | { | 178 | { |
174 | get { return PhysicsVector.Zero; } | 179 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs index a674e77..265e170 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs | |||
@@ -131,6 +131,11 @@ namespace OpenSim.Region.Physics.POSPlugin | |||
131 | 131 | ||
132 | } | 132 | } |
133 | 133 | ||
134 | public override void VehicleRotationParam(int param, Quaternion rotation) | ||
135 | { | ||
136 | |||
137 | } | ||
138 | |||
134 | public override PhysicsVector CenterOfMass | 139 | public override PhysicsVector CenterOfMass |
135 | { | 140 | { |
136 | get { return PhysicsVector.Zero; } | 141 | get { return PhysicsVector.Zero; } |
diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs index c65ce1d..c9d2c13 100644 --- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs +++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs | |||
@@ -353,6 +353,11 @@ namespace OpenSim.Region.Physics.PhysXPlugin | |||
353 | 353 | ||
354 | } | 354 | } |
355 | 355 | ||
356 | public override void VehicleRotationParam(int param, Quaternion rotation) | ||
357 | { | ||
358 | |||
359 | } | ||
360 | |||
356 | public override PhysicsVector CenterOfMass | 361 | public override PhysicsVector CenterOfMass |
357 | { | 362 | { |
358 | get { return PhysicsVector.Zero; } | 363 | get { return PhysicsVector.Zero; } |
@@ -693,6 +698,11 @@ namespace OpenSim.Region.Physics.PhysXPlugin | |||
693 | 698 | ||
694 | } | 699 | } |
695 | 700 | ||
701 | public override void VehicleRotationParam(int param, Quaternion rotation) | ||
702 | { | ||
703 | |||
704 | } | ||
705 | |||
696 | public override PhysicsVector CenterOfMass | 706 | public override PhysicsVector CenterOfMass |
697 | { | 707 | { |
698 | get { return PhysicsVector.Zero; } | 708 | 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 edc732e..e560d52 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -5162,6 +5162,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5162 | NotImplemented("llSetVehicleType"); | 5162 | NotImplemented("llSetVehicleType"); |
5163 | } | 5163 | } |
5164 | 5164 | ||
5165 | //CFK 9/28: Most, but not all of the underlying plumbing between here and the physics modules is in | ||
5166 | //CFK 9/28: so these are not complete yet. | ||
5165 | public void llSetVehicleFloatParam(int param, float value) | 5167 | public void llSetVehicleFloatParam(int param, float value) |
5166 | { | 5168 | { |
5167 | m_host.AddScriptLPS(1); | 5169 | m_host.AddScriptLPS(1); |
@@ -5175,6 +5177,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5175 | } | 5177 | } |
5176 | } | 5178 | } |
5177 | 5179 | ||
5180 | //CFK 9/28: Most, but not all of the underlying plumbing between here and the physics modules is in | ||
5181 | //CFK 9/28: so these are not complete yet. | ||
5178 | public void llSetVehicleVectorParam(int param, LSL_Vector vec) | 5182 | public void llSetVehicleVectorParam(int param, LSL_Vector vec) |
5179 | { | 5183 | { |
5180 | m_host.AddScriptLPS(1); | 5184 | m_host.AddScriptLPS(1); |
@@ -5188,10 +5192,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5188 | } | 5192 | } |
5189 | } | 5193 | } |
5190 | 5194 | ||
5195 | //CFK 9/28: Most, but not all of the underlying plumbing between here and the physics modules is in | ||
5196 | //CFK 9/28: so these are not complete yet. | ||
5191 | public void llSetVehicleRotationParam(int param, LSL_Rotation rot) | 5197 | public void llSetVehicleRotationParam(int param, LSL_Rotation rot) |
5192 | { | 5198 | { |
5193 | m_host.AddScriptLPS(1); | 5199 | m_host.AddScriptLPS(1); |
5194 | NotImplemented("llSetVehicleRotationParam"); | 5200 | if (m_host.ParentGroup != null) |
5201 | { | ||
5202 | if (m_host.ParentGroup.RootPart != null) | ||
5203 | { | ||
5204 | m_host.ParentGroup.RootPart.SetVehicleRotationParam(param, | ||
5205 | new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s)); | ||
5206 | } | ||
5207 | } | ||
5195 | } | 5208 | } |
5196 | 5209 | ||
5197 | public void llSetVehicleFlags(int flags) | 5210 | public void llSetVehicleFlags(int flags) |