aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODEVehicleSettings.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEVehicleSettings.cs186
1 files changed, 93 insertions, 93 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEVehicleSettings.cs b/OpenSim/Region/Physics/OdePlugin/ODEVehicleSettings.cs
index a4b93a0..e6b84ae 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEVehicleSettings.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEVehicleSettings.cs
@@ -50,39 +50,39 @@ namespace OpenSim.Region.Physics.OdePlugin
50 } 50 }
51 51
52 private int frcount = 0; 52 private int frcount = 0;
53 private float frmod = 3.0f; 53 // private float frmod = 3.0f;
54 54
55 private Vehicle m_type = Vehicle.TYPE_NONE; 55 private Vehicle m_type = Vehicle.TYPE_NONE;
56 private OdeScene m_parentScene = null; 56 // private OdeScene m_parentScene = null;
57 private IntPtr m_body = IntPtr.Zero; 57 private IntPtr m_body = IntPtr.Zero;
58 private IntPtr m_jointGroup = IntPtr.Zero; 58 private IntPtr m_jointGroup = IntPtr.Zero;
59 private IntPtr m_aMotor = IntPtr.Zero; 59 private IntPtr m_aMotor = IntPtr.Zero;
60 private IntPtr m_lMotor1 = IntPtr.Zero; 60 private IntPtr m_lMotor1 = IntPtr.Zero;
61 private IntPtr m_lMotor2 = IntPtr.Zero; 61 // private IntPtr m_lMotor2 = IntPtr.Zero;
62 private IntPtr m_lMotor3 = IntPtr.Zero; 62 // private IntPtr m_lMotor3 = IntPtr.Zero;
63 63
64 // Vehicle properties 64 // Vehicle properties
65 private Quaternion m_referenceFrame = Quaternion.Identity; 65 // private Quaternion m_referenceFrame = Quaternion.Identity;
66 private Vector3 m_angularFrictionTimescale = Vector3.Zero; 66 private Vector3 m_angularFrictionTimescale = Vector3.Zero;
67 private Vector3 m_angularMotorDirection = Vector3.Zero; 67 private Vector3 m_angularMotorDirection = Vector3.Zero;
68 private Vector3 m_angularMotorDirectionLASTSET = Vector3.Zero; 68 private Vector3 m_angularMotorDirectionLASTSET = Vector3.Zero;
69 private Vector3 m_linearFrictionTimescale = Vector3.Zero; 69 private Vector3 m_linearFrictionTimescale = Vector3.Zero;
70 private Vector3 m_linearMotorDirection = Vector3.Zero; 70 private Vector3 m_linearMotorDirection = Vector3.Zero;
71 private Vector3 m_linearMotorDirectionLASTSET = Vector3.Zero; 71 private Vector3 m_linearMotorDirectionLASTSET = Vector3.Zero;
72 private Vector3 m_linearMotorOffset = Vector3.Zero; 72 // private Vector3 m_linearMotorOffset = Vector3.Zero;
73 private float m_angularDeflectionEfficiency = 0; 73 // private float m_angularDeflectionEfficiency = 0;
74 private float m_angularDeflectionTimescale = 0; 74 // private float m_angularDeflectionTimescale = 0;
75 private float m_angularMotorDecayTimescale = 0; 75 private float m_angularMotorDecayTimescale = 0;
76 private float m_angularMotorTimescale = 0; 76 private float m_angularMotorTimescale = 0;
77 private float m_bankingEfficiency = 0; 77 // private float m_bankingEfficiency = 0;
78 private float m_bankingMix = 0; 78 // private float m_bankingMix = 0;
79 private float m_bankingTimescale = 0; 79 // private float m_bankingTimescale = 0;
80 private float m_buoyancy = 0; 80 // private float m_buoyancy = 0;
81 private float m_hoverHeight = 0; 81 // private float m_hoverHeight = 0;
82 private float m_hoverEfficiency = 0; 82 // private float m_hoverEfficiency = 0;
83 private float m_hoverTimescale = 0; 83 // private float m_hoverTimescale = 0;
84 private float m_linearDeflectionEfficiency = 0; 84 // private float m_linearDeflectionEfficiency = 0;
85 private float m_linearDeflectionTimescale = 0; 85 // private float m_linearDeflectionTimescale = 0;
86 private float m_linearMotorDecayTimescale = 0; 86 private float m_linearMotorDecayTimescale = 0;
87 private float m_linearMotorTimescale = 0; 87 private float m_linearMotorTimescale = 0;
88 private float m_verticalAttractionEfficiency = 0; 88 private float m_verticalAttractionEfficiency = 0;
@@ -91,7 +91,7 @@ namespace OpenSim.Region.Physics.OdePlugin
91 private Vector3 m_lastAngularVelocityVector = Vector3.Zero; 91 private Vector3 m_lastAngularVelocityVector = Vector3.Zero;
92 private VehicleFlag m_flags = (VehicleFlag) 0; 92 private VehicleFlag m_flags = (VehicleFlag) 0;
93 93
94 private bool m_LinearMotorSetLastFrame = false; 94 // private bool m_LinearMotorSetLastFrame = false;
95 95
96 96
97 97
@@ -102,11 +102,11 @@ namespace OpenSim.Region.Physics.OdePlugin
102 { 102 {
103 case Vehicle.ANGULAR_DEFLECTION_EFFICIENCY: 103 case Vehicle.ANGULAR_DEFLECTION_EFFICIENCY:
104 if (pValue < 0.01f) pValue = 0.01f; 104 if (pValue < 0.01f) pValue = 0.01f;
105 m_angularDeflectionEfficiency = pValue; 105 // m_angularDeflectionEfficiency = pValue;
106 break; 106 break;
107 case Vehicle.ANGULAR_DEFLECTION_TIMESCALE: 107 case Vehicle.ANGULAR_DEFLECTION_TIMESCALE:
108 if (pValue < 0.01f) pValue = 0.01f; 108 if (pValue < 0.01f) pValue = 0.01f;
109 m_angularDeflectionTimescale = pValue; 109 // m_angularDeflectionTimescale = pValue;
110 break; 110 break;
111 case Vehicle.ANGULAR_MOTOR_DECAY_TIMESCALE: 111 case Vehicle.ANGULAR_MOTOR_DECAY_TIMESCALE:
112 if (pValue < 0.01f) pValue = 0.01f; 112 if (pValue < 0.01f) pValue = 0.01f;
@@ -118,36 +118,36 @@ namespace OpenSim.Region.Physics.OdePlugin
118 break; 118 break;
119 case Vehicle.BANKING_EFFICIENCY: 119 case Vehicle.BANKING_EFFICIENCY:
120 if (pValue < 0.01f) pValue = 0.01f; 120 if (pValue < 0.01f) pValue = 0.01f;
121 m_bankingEfficiency = pValue; 121 // m_bankingEfficiency = pValue;
122 break; 122 break;
123 case Vehicle.BANKING_MIX: 123 case Vehicle.BANKING_MIX:
124 if (pValue < 0.01f) pValue = 0.01f; 124 if (pValue < 0.01f) pValue = 0.01f;
125 m_bankingMix = pValue; 125 // m_bankingMix = pValue;
126 break; 126 break;
127 case Vehicle.BANKING_TIMESCALE: 127 case Vehicle.BANKING_TIMESCALE:
128 if (pValue < 0.01f) pValue = 0.01f; 128 if (pValue < 0.01f) pValue = 0.01f;
129 m_bankingTimescale = pValue; 129 // m_bankingTimescale = pValue;
130 break; 130 break;
131 case Vehicle.BUOYANCY: 131 case Vehicle.BUOYANCY:
132 m_buoyancy = pValue; 132 // m_buoyancy = pValue;
133 break; 133 break;
134 case Vehicle.HOVER_EFFICIENCY: 134 case Vehicle.HOVER_EFFICIENCY:
135 m_hoverEfficiency = pValue; 135 // m_hoverEfficiency = pValue;
136 break; 136 break;
137 case Vehicle.HOVER_HEIGHT: 137 case Vehicle.HOVER_HEIGHT:
138 m_hoverHeight = pValue; 138 // m_hoverHeight = pValue;
139 break; 139 break;
140 case Vehicle.HOVER_TIMESCALE: 140 case Vehicle.HOVER_TIMESCALE:
141 if (pValue < 0.01f) pValue = 0.01f; 141 if (pValue < 0.01f) pValue = 0.01f;
142 m_hoverTimescale = pValue; 142 // m_hoverTimescale = pValue;
143 break; 143 break;
144 case Vehicle.LINEAR_DEFLECTION_EFFICIENCY: 144 case Vehicle.LINEAR_DEFLECTION_EFFICIENCY:
145 if (pValue < 0.01f) pValue = 0.01f; 145 if (pValue < 0.01f) pValue = 0.01f;
146 m_linearDeflectionEfficiency = pValue; 146 // m_linearDeflectionEfficiency = pValue;
147 break; 147 break;
148 case Vehicle.LINEAR_DEFLECTION_TIMESCALE: 148 case Vehicle.LINEAR_DEFLECTION_TIMESCALE:
149 if (pValue < 0.01f) pValue = 0.01f; 149 if (pValue < 0.01f) pValue = 0.01f;
150 m_linearDeflectionTimescale = pValue; 150 // m_linearDeflectionTimescale = pValue;
151 break; 151 break;
152 case Vehicle.LINEAR_MOTOR_DECAY_TIMESCALE: 152 case Vehicle.LINEAR_MOTOR_DECAY_TIMESCALE:
153 if (pValue < 0.01f) pValue = 0.01f; 153 if (pValue < 0.01f) pValue = 0.01f;
@@ -183,7 +183,7 @@ namespace OpenSim.Region.Physics.OdePlugin
183 m_linearMotorDirectionLASTSET = new Vector3(pValue, pValue, pValue); 183 m_linearMotorDirectionLASTSET = new Vector3(pValue, pValue, pValue);
184 break; 184 break;
185 case Vehicle.LINEAR_MOTOR_OFFSET: 185 case Vehicle.LINEAR_MOTOR_OFFSET:
186 m_linearMotorOffset = new Vector3(pValue, pValue, pValue); 186 // m_linearMotorOffset = new Vector3(pValue, pValue, pValue);
187 break; 187 break;
188 188
189 } 189 }
@@ -209,7 +209,7 @@ namespace OpenSim.Region.Physics.OdePlugin
209 m_linearMotorDirectionLASTSET = new Vector3(pValue.X, pValue.Y, pValue.Z); 209 m_linearMotorDirectionLASTSET = new Vector3(pValue.X, pValue.Y, pValue.Z);
210 break; 210 break;
211 case Vehicle.LINEAR_MOTOR_OFFSET: 211 case Vehicle.LINEAR_MOTOR_OFFSET:
212 m_linearMotorOffset = new Vector3(pValue.X, pValue.Y, pValue.Z); 212 // m_linearMotorOffset = new Vector3(pValue.X, pValue.Y, pValue.Z);
213 break; 213 break;
214 } 214 }
215 Reset(); 215 Reset();
@@ -220,7 +220,7 @@ namespace OpenSim.Region.Physics.OdePlugin
220 switch (pParam) 220 switch (pParam)
221 { 221 {
222 case Vehicle.REFERENCE_FRAME: 222 case Vehicle.REFERENCE_FRAME:
223 m_referenceFrame = pValue; 223 // m_referenceFrame = pValue;
224 break; 224 break;
225 } 225 }
226 Reset(); 226 Reset();
@@ -265,7 +265,7 @@ namespace OpenSim.Region.Physics.OdePlugin
265 return; 265 return;
266 266
267 m_body = pBody; 267 m_body = pBody;
268 m_parentScene = pParentScene; 268 // m_parentScene = pParentScene;
269 if (m_jointGroup == IntPtr.Zero) 269 if (m_jointGroup == IntPtr.Zero)
270 m_jointGroup = d.JointGroupCreate(3); 270 m_jointGroup = d.JointGroupCreate(3);
271 271
@@ -341,18 +341,18 @@ namespace OpenSim.Region.Physics.OdePlugin
341 m_angularMotorDirection = Vector3.Zero; 341 m_angularMotorDirection = Vector3.Zero;
342 m_angularMotorTimescale = 1000; 342 m_angularMotorTimescale = 1000;
343 m_angularMotorDecayTimescale = 120; 343 m_angularMotorDecayTimescale = 120;
344 m_hoverHeight = 0; 344 // m_hoverHeight = 0;
345 m_hoverEfficiency = 10; 345 // m_hoverEfficiency = 10;
346 m_hoverTimescale = 10; 346 // m_hoverTimescale = 10;
347 m_buoyancy = 0; 347 // m_buoyancy = 0;
348 m_linearDeflectionEfficiency = 1; 348 // m_linearDeflectionEfficiency = 1;
349 m_linearDeflectionTimescale = 1; 349 // m_linearDeflectionTimescale = 1;
350 m_angularDeflectionEfficiency = 1; 350 // m_angularDeflectionEfficiency = 1;
351 m_angularDeflectionTimescale = 1000; 351 // m_angularDeflectionTimescale = 1000;
352 m_bankingEfficiency = 0; 352 // m_bankingEfficiency = 0;
353 m_bankingMix = 1; 353 // m_bankingMix = 1;
354 m_bankingTimescale = 10; 354 // m_bankingTimescale = 10;
355 m_referenceFrame = Quaternion.Identity; 355 // m_referenceFrame = Quaternion.Identity;
356 m_flags &= 356 m_flags &=
357 ~(VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_TERRAIN_ONLY | 357 ~(VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_TERRAIN_ONLY |
358 VehicleFlag.HOVER_GLOBAL_HEIGHT | VehicleFlag.HOVER_UP_ONLY); 358 VehicleFlag.HOVER_GLOBAL_HEIGHT | VehicleFlag.HOVER_UP_ONLY);
@@ -367,20 +367,20 @@ namespace OpenSim.Region.Physics.OdePlugin
367 m_angularMotorDirection = Vector3.Zero; 367 m_angularMotorDirection = Vector3.Zero;
368 m_angularMotorTimescale = 1; 368 m_angularMotorTimescale = 1;
369 m_angularMotorDecayTimescale = 0.8f; 369 m_angularMotorDecayTimescale = 0.8f;
370 m_hoverHeight = 0; 370 // m_hoverHeight = 0;
371 m_hoverEfficiency = 0; 371 // // m_hoverEfficiency = 0;
372 m_hoverTimescale = 1000; 372 // // m_hoverTimescale = 1000;
373 m_buoyancy = 0; 373 // // m_buoyancy = 0;
374 m_linearDeflectionEfficiency = 1; 374 // // m_linearDeflectionEfficiency = 1;
375 m_linearDeflectionTimescale = 2; 375 // // m_linearDeflectionTimescale = 2;
376 m_angularDeflectionEfficiency = 0; 376 // // m_angularDeflectionEfficiency = 0;
377 m_angularDeflectionTimescale = 10; 377 // m_angularDeflectionTimescale = 10;
378 m_verticalAttractionEfficiency = 1; 378 m_verticalAttractionEfficiency = 1;
379 m_verticalAttractionTimescale = 10; 379 m_verticalAttractionTimescale = 10;
380 m_bankingEfficiency = -0.2f; 380 // m_bankingEfficiency = -0.2f;
381 m_bankingMix = 1; 381 // m_bankingMix = 1;
382 m_bankingTimescale = 1; 382 // m_bankingTimescale = 1;
383 m_referenceFrame = Quaternion.Identity; 383 // m_referenceFrame = Quaternion.Identity;
384 m_flags &= ~(VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_TERRAIN_ONLY | VehicleFlag.HOVER_GLOBAL_HEIGHT); 384 m_flags &= ~(VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_TERRAIN_ONLY | VehicleFlag.HOVER_GLOBAL_HEIGHT);
385 m_flags |= (VehicleFlag.NO_DEFLECTION_UP | VehicleFlag.LIMIT_ROLL_ONLY | VehicleFlag.HOVER_UP_ONLY | 385 m_flags |= (VehicleFlag.NO_DEFLECTION_UP | VehicleFlag.LIMIT_ROLL_ONLY | VehicleFlag.HOVER_UP_ONLY |
386 VehicleFlag.LIMIT_MOTOR_UP); 386 VehicleFlag.LIMIT_MOTOR_UP);
@@ -394,20 +394,20 @@ namespace OpenSim.Region.Physics.OdePlugin
394 m_angularMotorDirection = Vector3.Zero; 394 m_angularMotorDirection = Vector3.Zero;
395 m_angularMotorTimescale = 4; 395 m_angularMotorTimescale = 4;
396 m_angularMotorDecayTimescale = 4; 396 m_angularMotorDecayTimescale = 4;
397 m_hoverHeight = 0; 397 // m_hoverHeight = 0;
398 m_hoverEfficiency = 0.5f; 398 // m_hoverEfficiency = 0.5f;
399 m_hoverTimescale = 2; 399 // m_hoverTimescale = 2;
400 m_buoyancy = 1; 400 // m_buoyancy = 1;
401 m_linearDeflectionEfficiency = 0.5f; 401 // m_linearDeflectionEfficiency = 0.5f;
402 m_linearDeflectionTimescale = 3; 402 // m_linearDeflectionTimescale = 3;
403 m_angularDeflectionEfficiency = 0.5f; 403 // m_angularDeflectionEfficiency = 0.5f;
404 m_angularDeflectionTimescale = 5; 404 // m_angularDeflectionTimescale = 5;
405 m_verticalAttractionEfficiency = 0.5f; 405 m_verticalAttractionEfficiency = 0.5f;
406 m_verticalAttractionTimescale = 5; 406 m_verticalAttractionTimescale = 5;
407 m_bankingEfficiency = -0.3f; 407 // m_bankingEfficiency = -0.3f;
408 m_bankingMix = 0.8f; 408 // m_bankingMix = 0.8f;
409 m_bankingTimescale = 1; 409 // m_bankingTimescale = 1;
410 m_referenceFrame = Quaternion.Identity; 410 // m_referenceFrame = Quaternion.Identity;
411 m_flags &= ~( VehicleFlag.HOVER_TERRAIN_ONLY | VehicleFlag.LIMIT_ROLL_ONLY | VehicleFlag.HOVER_GLOBAL_HEIGHT); 411 m_flags &= ~( VehicleFlag.HOVER_TERRAIN_ONLY | VehicleFlag.LIMIT_ROLL_ONLY | VehicleFlag.HOVER_GLOBAL_HEIGHT);
412 m_flags |= (VehicleFlag.NO_DEFLECTION_UP | VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_UP_ONLY | 412 m_flags |= (VehicleFlag.NO_DEFLECTION_UP | VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_UP_ONLY |
413 VehicleFlag.LIMIT_MOTOR_UP); 413 VehicleFlag.LIMIT_MOTOR_UP);
@@ -421,20 +421,20 @@ namespace OpenSim.Region.Physics.OdePlugin
421 m_angularMotorDirection = Vector3.Zero; 421 m_angularMotorDirection = Vector3.Zero;
422 m_angularMotorTimescale = 4; 422 m_angularMotorTimescale = 4;
423 m_angularMotorDecayTimescale = 4; 423 m_angularMotorDecayTimescale = 4;
424 m_hoverHeight = 0; 424 // m_hoverHeight = 0;
425 m_hoverEfficiency = 0.5f; 425 // m_hoverEfficiency = 0.5f;
426 m_hoverTimescale = 1000; 426 // m_hoverTimescale = 1000;
427 m_buoyancy = 0; 427 // m_buoyancy = 0;
428 m_linearDeflectionEfficiency = 0.5f; 428 // m_linearDeflectionEfficiency = 0.5f;
429 m_linearDeflectionTimescale = 3; 429 // m_linearDeflectionTimescale = 3;
430 m_angularDeflectionEfficiency = 1; 430 // m_angularDeflectionEfficiency = 1;
431 m_angularDeflectionTimescale = 2; 431 // m_angularDeflectionTimescale = 2;
432 m_verticalAttractionEfficiency = 0.9f; 432 m_verticalAttractionEfficiency = 0.9f;
433 m_verticalAttractionTimescale = 2; 433 m_verticalAttractionTimescale = 2;
434 m_bankingEfficiency = 1; 434 // m_bankingEfficiency = 1;
435 m_bankingMix = 0.7f; 435 // m_bankingMix = 0.7f;
436 m_bankingTimescale = 2; 436 // m_bankingTimescale = 2;
437 m_referenceFrame = Quaternion.Identity; 437 // m_referenceFrame = Quaternion.Identity;
438 m_flags &= ~(VehicleFlag.NO_DEFLECTION_UP | VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_TERRAIN_ONLY | 438 m_flags &= ~(VehicleFlag.NO_DEFLECTION_UP | VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_TERRAIN_ONLY |
439 VehicleFlag.HOVER_GLOBAL_HEIGHT | VehicleFlag.HOVER_UP_ONLY | VehicleFlag.LIMIT_MOTOR_UP); 439 VehicleFlag.HOVER_GLOBAL_HEIGHT | VehicleFlag.HOVER_UP_ONLY | VehicleFlag.LIMIT_MOTOR_UP);
440 m_flags |= (VehicleFlag.LIMIT_ROLL_ONLY); 440 m_flags |= (VehicleFlag.LIMIT_ROLL_ONLY);
@@ -448,20 +448,20 @@ namespace OpenSim.Region.Physics.OdePlugin
448 m_angularMotorDirection = Vector3.Zero; 448 m_angularMotorDirection = Vector3.Zero;
449 m_angularMotorTimescale = 6; 449 m_angularMotorTimescale = 6;
450 m_angularMotorDecayTimescale = 10; 450 m_angularMotorDecayTimescale = 10;
451 m_hoverHeight = 5; 451 // m_hoverHeight = 5;
452 m_hoverEfficiency = 0.8f; 452 // m_hoverEfficiency = 0.8f;
453 m_hoverTimescale = 10; 453 // m_hoverTimescale = 10;
454 m_buoyancy = 1; 454 // m_buoyancy = 1;
455 m_linearDeflectionEfficiency = 0; 455 // m_linearDeflectionEfficiency = 0;
456 m_linearDeflectionTimescale = 5; 456 // m_linearDeflectionTimescale = 5;
457 m_angularDeflectionEfficiency = 0; 457 // m_angularDeflectionEfficiency = 0;
458 m_angularDeflectionTimescale = 5; 458 // m_angularDeflectionTimescale = 5;
459 m_verticalAttractionEfficiency = 1; 459 m_verticalAttractionEfficiency = 1;
460 m_verticalAttractionTimescale = 1000; 460 m_verticalAttractionTimescale = 1000;
461 m_bankingEfficiency = 0; 461 // m_bankingEfficiency = 0;
462 m_bankingMix = 0.7f; 462 // m_bankingMix = 0.7f;
463 m_bankingTimescale = 5; 463 // m_bankingTimescale = 5;
464 m_referenceFrame = Quaternion.Identity; 464 // m_referenceFrame = Quaternion.Identity;
465 m_flags = (VehicleFlag)0; 465 m_flags = (VehicleFlag)0;
466 break; 466 break;
467 467