diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/ModifiedBulletX/ModifiedBulletX/Collision/BroadphaseCollision/BroadphaseProxy.cs | 182 |
1 files changed, 91 insertions, 91 deletions
diff --git a/libraries/ModifiedBulletX/ModifiedBulletX/Collision/BroadphaseCollision/BroadphaseProxy.cs b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/BroadphaseCollision/BroadphaseProxy.cs index aed82d5..0abc613 100644 --- a/libraries/ModifiedBulletX/ModifiedBulletX/Collision/BroadphaseCollision/BroadphaseProxy.cs +++ b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/BroadphaseCollision/BroadphaseProxy.cs | |||
@@ -1,91 +1,91 @@ | |||
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 | 25 | ||
26 | namespace XnaDevRu.BulletX | 26 | namespace XnaDevRu.BulletX |
27 | { | 27 | { |
28 | public class BroadphaseProxy | 28 | public class BroadphaseProxy |
29 | { | 29 | { |
30 | //Usually the client CollisionObject or Rigidbody class | 30 | //Usually the client CollisionObject or Rigidbody class |
31 | private object _clientObject; | 31 | private object _clientObject; |
32 | private CollisionFilterGroups _collisionFilterGroup; | 32 | private CollisionFilterGroups _collisionFilterGroup; |
33 | private CollisionFilterGroups _collisionFilterMask; | 33 | private CollisionFilterGroups _collisionFilterMask; |
34 | private readonly int _comparisonID; | 34 | private readonly int _comparisonID; |
35 | 35 | ||
36 | private static int _globalCount = 0; | 36 | private static int _globalCount = 0; |
37 | 37 | ||
38 | public BroadphaseProxy() | 38 | public BroadphaseProxy() |
39 | { | 39 | { |
40 | _comparisonID = _globalCount++; | 40 | _comparisonID = _globalCount++; |
41 | } | 41 | } |
42 | 42 | ||
43 | public BroadphaseProxy(object userData, CollisionFilterGroups collisionFilterGroup, CollisionFilterGroups collisionFilterMask) | 43 | public BroadphaseProxy(object userData, CollisionFilterGroups collisionFilterGroup, CollisionFilterGroups collisionFilterMask) |
44 | : this() | 44 | : this() |
45 | { | 45 | { |
46 | _clientObject = userData; | 46 | _clientObject = userData; |
47 | _collisionFilterGroup = collisionFilterGroup; | 47 | _collisionFilterGroup = collisionFilterGroup; |
48 | _collisionFilterMask = collisionFilterMask; | 48 | _collisionFilterMask = collisionFilterMask; |
49 | } | 49 | } |
50 | 50 | ||
51 | public object ClientData { get { return _clientObject; } set { _clientObject = value; } } | 51 | public object ClientData { get { return _clientObject; } set { _clientObject = value; } } |
52 | public CollisionFilterGroups CollisionFilterGroup { get { return _collisionFilterGroup; } set { _collisionFilterGroup = value; } } | 52 | public CollisionFilterGroups CollisionFilterGroup { get { return _collisionFilterGroup; } set { _collisionFilterGroup = value; } } |
53 | public CollisionFilterGroups CollisionFilterMask { get { return _collisionFilterMask; } set { _collisionFilterMask = value; } } | 53 | public CollisionFilterGroups CollisionFilterMask { get { return _collisionFilterMask; } set { _collisionFilterMask = value; } } |
54 | internal int ComparisonID { get { return _comparisonID; } } | 54 | internal int ComparisonID { get { return _comparisonID; } } |
55 | 55 | ||
56 | public static bool IsPolyhedral(BroadphaseNativeTypes proxyType) | 56 | public static bool IsPolyhedral(BroadphaseNativeTypes proxyType) |
57 | { | 57 | { |
58 | return (proxyType < BroadphaseNativeTypes.ImplicitConvexShapes); | 58 | return (proxyType < BroadphaseNativeTypes.ImplicitConvexShapes); |
59 | } | 59 | } |
60 | 60 | ||
61 | public static bool IsConvex(BroadphaseNativeTypes proxyType) | 61 | public static bool IsConvex(BroadphaseNativeTypes proxyType) |
62 | { | 62 | { |
63 | return (proxyType < BroadphaseNativeTypes.ConcaveShapesStart); | 63 | return (proxyType < BroadphaseNativeTypes.ConcaveShapesStart); |
64 | } | 64 | } |
65 | 65 | ||
66 | public static bool IsConcave(BroadphaseNativeTypes proxyType) | 66 | public static bool IsConcave(BroadphaseNativeTypes proxyType) |
67 | { | 67 | { |
68 | return ((proxyType > BroadphaseNativeTypes.ConcaveShapesStart) && | 68 | return ((proxyType > BroadphaseNativeTypes.ConcaveShapesStart) && |
69 | (proxyType < BroadphaseNativeTypes.ConcaveShapesEnd)); | 69 | (proxyType < BroadphaseNativeTypes.ConcaveShapesEnd)); |
70 | } | 70 | } |
71 | public static bool IsCompound(BroadphaseNativeTypes proxyType) | 71 | public static bool IsCompound(BroadphaseNativeTypes proxyType) |
72 | { | 72 | { |
73 | return (proxyType == BroadphaseNativeTypes.Compound); | 73 | return (proxyType == BroadphaseNativeTypes.Compound); |
74 | } | 74 | } |
75 | public static bool IsInfinite(BroadphaseNativeTypes proxyType) | 75 | public static bool IsInfinite(BroadphaseNativeTypes proxyType) |
76 | { | 76 | { |
77 | return (proxyType == BroadphaseNativeTypes.StaticPlane); | 77 | return (proxyType == BroadphaseNativeTypes.StaticPlane); |
78 | } | 78 | } |
79 | 79 | ||
80 | //optional filtering to cull potential collisions | 80 | //optional filtering to cull potential collisions |
81 | public enum CollisionFilterGroups | 81 | public enum CollisionFilterGroups |
82 | { | 82 | { |
83 | Default = 1, | 83 | Default = 1, |
84 | Static = 2, | 84 | Static = 2, |
85 | Kinematic = 4, | 85 | Kinematic = 4, |
86 | Debris = 8, | 86 | Debris = 8, |
87 | Sensor = 16, | 87 | Sensor = 16, |
88 | All = Default | Static | Kinematic | Debris | Sensor, | 88 | All = Default | Static | Kinematic | Debris | Sensor, |
89 | } | 89 | } |
90 | } | 90 | } |
91 | } | 91 | } |