aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorCharles Krinke2008-09-28 21:53:56 +0000
committerCharles Krinke2008-09-28 21:53:56 +0000
commitebbbd37605e2954c877454ed8cafd4027f0bdc10 (patch)
tree7e8dfed49511939877ffd9fec6981d3be29864e4
parentA little bit further with LLSetVehicleVectorParam. (diff)
downloadopensim-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.
-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.cs6
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs6
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs5
-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.cs10
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs15
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)