diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/ConvexCast.cs | 146 |
1 files changed, 73 insertions, 73 deletions
diff --git a/libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/ConvexCast.cs b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/ConvexCast.cs index 9e88a7e..93501ed 100644 --- a/libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/ConvexCast.cs +++ b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/NarrowPhaseCollision/ConvexCast.cs | |||
@@ -1,73 +1,73 @@ | |||
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 | 29 | ||
30 | /// <summary> | 30 | /// <summary> |
31 | /// CastResult stores the closest result | 31 | /// CastResult stores the closest result |
32 | /// alternatively, add a callback method to decide about closest/all results | 32 | /// alternatively, add a callback method to decide about closest/all results |
33 | /// </summary> | 33 | /// </summary> |
34 | public class CastResult | 34 | public class CastResult |
35 | { | 35 | { |
36 | private Vector3 _normal; | 36 | private Vector3 _normal; |
37 | private float _fraction; | 37 | private float _fraction; |
38 | private Matrix _hitTransformA; | 38 | private Matrix _hitTransformA; |
39 | private Matrix _hitTransformB; | 39 | private Matrix _hitTransformB; |
40 | private IDebugDraw _debugDrawer; | 40 | private IDebugDraw _debugDrawer; |
41 | 41 | ||
42 | public CastResult() | 42 | public CastResult() |
43 | { | 43 | { |
44 | _fraction = 1e30f; | 44 | _fraction = 1e30f; |
45 | } | 45 | } |
46 | 46 | ||
47 | public Vector3 Normal { get { return _normal; } set { _normal = value; } } | 47 | public Vector3 Normal { get { return _normal; } set { _normal = value; } } |
48 | public float Fraction { get { return _fraction; } set { _fraction = value; } } | 48 | public float Fraction { get { return _fraction; } set { _fraction = value; } } |
49 | public Matrix HitTransformA { get { return _hitTransformA; } set { _hitTransformA = value; } } | 49 | public Matrix HitTransformA { get { return _hitTransformA; } set { _hitTransformA = value; } } |
50 | public Matrix HitTransformB { get { return _hitTransformB; } set { _hitTransformB = value; } } | 50 | public Matrix HitTransformB { get { return _hitTransformB; } set { _hitTransformB = value; } } |
51 | public IDebugDraw DebugDrawer { get { return _debugDrawer; } set { _debugDrawer = value; } } | 51 | public IDebugDraw DebugDrawer { get { return _debugDrawer; } set { _debugDrawer = value; } } |
52 | 52 | ||
53 | public virtual void DebugDraw(float fraction) { } | 53 | public virtual void DebugDraw(float fraction) { } |
54 | public virtual void DrawCoordSystem(Matrix trans) { } | 54 | public virtual void DrawCoordSystem(Matrix trans) { } |
55 | } | 55 | } |
56 | 56 | ||
57 | /// <summary> | 57 | /// <summary> |
58 | /// ConvexCast is an interface for Casting | 58 | /// ConvexCast is an interface for Casting |
59 | /// </summary> | 59 | /// </summary> |
60 | public interface IConvexCast | 60 | public interface IConvexCast |
61 | { | 61 | { |
62 | /// <summary> | 62 | /// <summary> |
63 | /// cast a convex against another convex object | 63 | /// cast a convex against another convex object |
64 | /// </summary> | 64 | /// </summary> |
65 | /// <param name="fromA"></param> | 65 | /// <param name="fromA"></param> |
66 | /// <param name="toA"></param> | 66 | /// <param name="toA"></param> |
67 | /// <param name="fromB"></param> | 67 | /// <param name="fromB"></param> |
68 | /// <param name="toB"></param> | 68 | /// <param name="toB"></param> |
69 | /// <param name="result"></param> | 69 | /// <param name="result"></param> |
70 | /// <returns></returns> | 70 | /// <returns></returns> |
71 | bool CalcTimeOfImpact(Matrix fromA, Matrix toA, Matrix fromB, Matrix toB, CastResult result); | 71 | bool CalcTimeOfImpact(Matrix fromA, Matrix toA, Matrix fromB, Matrix toB, CastResult result); |
72 | } | 72 | } |
73 | } | 73 | } |