diff options
author | gareth | 2007-03-22 10:11:15 +0000 |
---|---|---|
committer | gareth | 2007-03-22 10:11:15 +0000 |
commit | 7daa3955bc3a1918e40962851f9e8d38597a245e (patch) | |
tree | bee3e1372a7eed0c1b220a8a49f7bee7d29a6b91 /src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs | |
parent | Load XML for neighbourinfo from grid (diff) | |
download | opensim-SC_OLD-7daa3955bc3a1918e40962851f9e8d38597a245e.zip opensim-SC_OLD-7daa3955bc3a1918e40962851f9e8d38597a245e.tar.gz opensim-SC_OLD-7daa3955bc3a1918e40962851f9e8d38597a245e.tar.bz2 opensim-SC_OLD-7daa3955bc3a1918e40962851f9e8d38597a245e.tar.xz |
brought zircon branch into trunk
Diffstat (limited to '')
-rw-r--r-- | OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs (renamed from src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs) | 69 |
1 files changed, 65 insertions, 4 deletions
diff --git a/src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs b/OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs index 9576a40..043c2f1 100644 --- a/src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs +++ b/OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs | |||
@@ -52,10 +52,10 @@ | |||
52 | */ | 52 | */ |
53 | using System; | 53 | using System; |
54 | using System.Collections.Generic; | 54 | using System.Collections.Generic; |
55 | using PhysicsSystem; | 55 | using OpenSim.Physics.Manager; |
56 | using PhysXWrapper; | 56 | using PhysXWrapper; |
57 | 57 | ||
58 | namespace PhysXplugin | 58 | namespace OpenSim.Physics.PhysXPlugin |
59 | { | 59 | { |
60 | /// <summary> | 60 | /// <summary> |
61 | /// Will be the PhysX plugin but for now will be a very basic physics engine | 61 | /// Will be the PhysX plugin but for now will be a very basic physics engine |
@@ -105,6 +105,7 @@ namespace PhysXplugin | |||
105 | public PhysXScene() | 105 | public PhysXScene() |
106 | { | 106 | { |
107 | mySdk = NxPhysicsSDK.CreateSDK(); | 107 | mySdk = NxPhysicsSDK.CreateSDK(); |
108 | Console.WriteLine("Sdk created - now creating scene"); | ||
108 | scene = mySdk.CreateScene(); | 109 | scene = mySdk.CreateScene(); |
109 | 110 | ||
110 | } | 111 | } |
@@ -179,6 +180,7 @@ namespace PhysXplugin | |||
179 | private PhysicsVector _acceleration; | 180 | private PhysicsVector _acceleration; |
180 | private NxCharacter _character; | 181 | private NxCharacter _character; |
181 | private bool flying; | 182 | private bool flying; |
183 | private float gravityAccel; | ||
182 | 184 | ||
183 | public PhysXCharacter(NxCharacter character) | 185 | public PhysXCharacter(NxCharacter character) |
184 | { | 186 | { |
@@ -224,6 +226,30 @@ namespace PhysXplugin | |||
224 | } | 226 | } |
225 | } | 227 | } |
226 | 228 | ||
229 | public override bool Kinematic | ||
230 | { | ||
231 | get | ||
232 | { | ||
233 | return false; | ||
234 | } | ||
235 | set | ||
236 | { | ||
237 | |||
238 | } | ||
239 | } | ||
240 | |||
241 | public override Axiom.MathLib.Quaternion Orientation | ||
242 | { | ||
243 | get | ||
244 | { | ||
245 | return Axiom.MathLib.Quaternion.Identity; | ||
246 | } | ||
247 | set | ||
248 | { | ||
249 | |||
250 | } | ||
251 | } | ||
252 | |||
227 | public override PhysicsVector Acceleration | 253 | public override PhysicsVector Acceleration |
228 | { | 254 | { |
229 | get | 255 | get |
@@ -258,9 +284,14 @@ namespace PhysXplugin | |||
258 | } | 284 | } |
259 | else | 285 | else |
260 | { | 286 | { |
261 | vec.Z = (-9.8f + this._velocity.Z) * timeStep; | 287 | gravityAccel+= -9.8f; |
288 | vec.Z = (gravityAccel + this._velocity.Z) * timeStep; | ||
289 | } | ||
290 | int res = this._character.Move(vec); | ||
291 | if(res == 1) | ||
292 | { | ||
293 | gravityAccel = 0; | ||
262 | } | 294 | } |
263 | this._character.Move(vec); | ||
264 | } | 295 | } |
265 | 296 | ||
266 | public void UpdatePosition() | 297 | public void UpdatePosition() |
@@ -332,6 +363,36 @@ namespace PhysXplugin | |||
332 | } | 363 | } |
333 | } | 364 | } |
334 | 365 | ||
366 | public override bool Kinematic | ||
367 | { | ||
368 | get | ||
369 | { | ||
370 | return this._prim.Kinematic; | ||
371 | } | ||
372 | set | ||
373 | { | ||
374 | this._prim.Kinematic = value; | ||
375 | } | ||
376 | } | ||
377 | |||
378 | public override Axiom.MathLib.Quaternion Orientation | ||
379 | { | ||
380 | get | ||
381 | { | ||
382 | Axiom.MathLib.Quaternion res = new Axiom.MathLib.Quaternion(); | ||
383 | PhysXWrapper.Quaternion quat = this._prim.GetOrientation(); | ||
384 | res.w = quat.W; | ||
385 | res.x = quat.X; | ||
386 | res.y = quat.Y; | ||
387 | res.z = quat.Z; | ||
388 | return res; | ||
389 | } | ||
390 | set | ||
391 | { | ||
392 | |||
393 | } | ||
394 | } | ||
395 | |||
335 | public override PhysicsVector Acceleration | 396 | public override PhysicsVector Acceleration |
336 | { | 397 | { |
337 | get | 398 | get |