diff options
Diffstat (limited to 'libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/PointCollector.cs')
-rw-r--r-- | libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/PointCollector.cs | 128 |
1 files changed, 64 insertions, 64 deletions
diff --git a/libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/PointCollector.cs b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/PointCollector.cs index 4e0b0a0..c70741e 100644 --- a/libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/PointCollector.cs +++ b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/PointCollector.cs | |||
@@ -1,64 +1,64 @@ | |||
1 | /* | 1 | /* |
2 | Bullet for XNA Copyright (c) 2003-2007 Vsevolod Klementjev http://www.codeplex.com/xnadevru | 2 | Bullet for XNA Copyright (c) 2003-2007 Vsevolod Klementjev http://www.codeplex.com/xnadevru |
3 | Bullet original C++ version Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com | 3 | Bullet original C++ version Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com |
4 | 4 | ||
5 | This software is provided 'as-is', without any express or implied | 5 | This software is provided 'as-is', without any express or implied |
6 | warranty. In no event will the authors be held liable for any damages | 6 | warranty. In no event will the authors be held liable for any damages |
7 | arising from the use of this software. | 7 | arising from the use of this software. |
8 | 8 | ||
9 | Permission is granted to anyone to use this software for any purpose, | 9 | Permission is granted to anyone to use this software for any purpose, |
10 | including commercial applications, and to alter it and redistribute it | 10 | including commercial applications, and to alter it and redistribute it |
11 | freely, subject to the following restrictions: | 11 | freely, subject to the following restrictions: |
12 | 12 | ||
13 | 1. The origin of this software must not be misrepresented; you must not | 13 | 1. The origin of this software must not be misrepresented; you must not |
14 | claim that you wrote the original software. If you use this software | 14 | claim that you wrote the original software. If you use this software |
15 | in a product, an acknowledgment in the product documentation would be | 15 | in a product, an acknowledgment in the product documentation would be |
16 | appreciated but is not required. | 16 | appreciated but is not required. |
17 | 2. Altered source versions must be plainly marked as such, and must not be | 17 | 2. Altered source versions must be plainly marked as such, and must not be |
18 | misrepresented as being the original software. | 18 | misrepresented as being the original software. |
19 | 3. This notice may not be removed or altered from any source distribution. | 19 | 3. This notice may not be removed or altered from any source distribution. |
20 | */ | 20 | */ |
21 | 21 | ||
22 | using System; | 22 | using System; |
23 | using System.Collections.Generic; | 23 | using System.Collections.Generic; |
24 | using System.Text; | 24 | using System.Text; |
25 | using MonoXnaCompactMaths; | 25 | using MonoXnaCompactMaths; |
26 | 26 | ||
27 | namespace XnaDevRu.BulletX | 27 | namespace XnaDevRu.BulletX |
28 | { | 28 | { |
29 | public class PointCollector : DiscreteCollisionDetectorInterface.Result | 29 | public class PointCollector : DiscreteCollisionDetectorInterface.Result |
30 | { | 30 | { |
31 | private Vector3 _normalOnBInWorld; | 31 | private Vector3 _normalOnBInWorld; |
32 | private Vector3 _pointInWorld; | 32 | private Vector3 _pointInWorld; |
33 | private float _distance; //negative means penetration | 33 | private float _distance; //negative means penetration |
34 | private bool _hasResult; | 34 | private bool _hasResult; |
35 | 35 | ||
36 | public PointCollector() | 36 | public PointCollector() |
37 | { | 37 | { |
38 | _distance = 1e30f; | 38 | _distance = 1e30f; |
39 | _hasResult = false; | 39 | _hasResult = false; |
40 | } | 40 | } |
41 | 41 | ||
42 | public Vector3 NormalOnBInWorld { get { return _normalOnBInWorld; } } | 42 | public Vector3 NormalOnBInWorld { get { return _normalOnBInWorld; } } |
43 | public Vector3 PointInWorld { get { return _pointInWorld; } } | 43 | public Vector3 PointInWorld { get { return _pointInWorld; } } |
44 | public float Distance { get { return _distance; } } | 44 | public float Distance { get { return _distance; } } |
45 | public bool HasResult { get { return _hasResult; } } | 45 | public bool HasResult { get { return _hasResult; } } |
46 | 46 | ||
47 | public override void SetShapeIdentifiers(int partIdA, int indexA, int partIdB, int indexB) | 47 | public override void SetShapeIdentifiers(int partIdA, int indexA, int partIdB, int indexB) |
48 | { | 48 | { |
49 | //?? | 49 | //?? |
50 | } | 50 | } |
51 | 51 | ||
52 | public override void AddContactPoint(Vector3 normalOnBInWorld, Vector3 pointInWorld, float depth) | 52 | public override void AddContactPoint(Vector3 normalOnBInWorld, Vector3 pointInWorld, float depth) |
53 | { | 53 | { |
54 | if (depth < _distance) | 54 | if (depth < _distance) |
55 | { | 55 | { |
56 | _hasResult = true; | 56 | _hasResult = true; |
57 | _normalOnBInWorld = normalOnBInWorld; | 57 | _normalOnBInWorld = normalOnBInWorld; |
58 | _pointInWorld = pointInWorld; | 58 | _pointInWorld = pointInWorld; |
59 | //negative means penetration | 59 | //negative means penetration |
60 | _distance = depth; | 60 | _distance = depth; |
61 | } | 61 | } |
62 | } | 62 | } |
63 | } | 63 | } |
64 | } | 64 | } |