diff options
Diffstat (limited to 'libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/OptimizedBvhNode.cs')
-rw-r--r-- | libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/OptimizedBvhNode.cs | 126 |
1 files changed, 63 insertions, 63 deletions
diff --git a/libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/OptimizedBvhNode.cs b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/OptimizedBvhNode.cs index d43f2fb..83cc6e5 100644 --- a/libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/OptimizedBvhNode.cs +++ b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/OptimizedBvhNode.cs | |||
@@ -1,63 +1,63 @@ | |||
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 | /// <summary> | 29 | /// <summary> |
30 | /// OptimizedBvhNode contains both internal and leaf node information. | 30 | /// OptimizedBvhNode contains both internal and leaf node information. |
31 | /// It hasn't been optimized yet for storage. Some obvious optimizations are: | 31 | /// It hasn't been optimized yet for storage. Some obvious optimizations are: |
32 | /// Removal of the pointers (can already be done, they are not used for traversal) | 32 | /// Removal of the pointers (can already be done, they are not used for traversal) |
33 | /// and storing aabbmin/max as quantized integers. | 33 | /// and storing aabbmin/max as quantized integers. |
34 | /// 'subpart' doesn't need an integer either. It allows to re-use graphics triangle | 34 | /// 'subpart' doesn't need an integer either. It allows to re-use graphics triangle |
35 | /// meshes stored in a non-uniform way (like batches/subparts of triangle-fans | 35 | /// meshes stored in a non-uniform way (like batches/subparts of triangle-fans |
36 | /// </summary> | 36 | /// </summary> |
37 | public class OptimizedBvhNode | 37 | public class OptimizedBvhNode |
38 | { | 38 | { |
39 | private Vector3 _aabbMin; | 39 | private Vector3 _aabbMin; |
40 | private Vector3 _aabbMax; | 40 | private Vector3 _aabbMax; |
41 | 41 | ||
42 | //these 2 pointers are obsolete, the stackless traversal just uses the escape index | 42 | //these 2 pointers are obsolete, the stackless traversal just uses the escape index |
43 | private OptimizedBvhNode _leftChild; | 43 | private OptimizedBvhNode _leftChild; |
44 | private OptimizedBvhNode _rightChild; | 44 | private OptimizedBvhNode _rightChild; |
45 | 45 | ||
46 | private int _escapeIndex; | 46 | private int _escapeIndex; |
47 | 47 | ||
48 | //for child nodes | 48 | //for child nodes |
49 | private int _subPart; | 49 | private int _subPart; |
50 | private int _triangleIndex; | 50 | private int _triangleIndex; |
51 | 51 | ||
52 | public Vector3 AabbMin { get { return _aabbMin; } set { _aabbMin = value; } } | 52 | public Vector3 AabbMin { get { return _aabbMin; } set { _aabbMin = value; } } |
53 | public Vector3 AabbMax { get { return _aabbMax; } set { _aabbMax = value; } } | 53 | public Vector3 AabbMax { get { return _aabbMax; } set { _aabbMax = value; } } |
54 | 54 | ||
55 | public OptimizedBvhNode LeftChild { get { return _leftChild; } set { _leftChild = value; } } | 55 | public OptimizedBvhNode LeftChild { get { return _leftChild; } set { _leftChild = value; } } |
56 | public OptimizedBvhNode RightChild { get { return _rightChild; } set { _rightChild = value; } } | 56 | public OptimizedBvhNode RightChild { get { return _rightChild; } set { _rightChild = value; } } |
57 | 57 | ||
58 | public int EscapeIndex { get { return _escapeIndex; } set { _escapeIndex = value; } } | 58 | public int EscapeIndex { get { return _escapeIndex; } set { _escapeIndex = value; } } |
59 | 59 | ||
60 | public int SubPart { get { return _subPart; } set { _subPart = value; } } | 60 | public int SubPart { get { return _subPart; } set { _subPart = value; } } |
61 | public int TriangleIndex { get { return _triangleIndex; } set { _triangleIndex = value; } } | 61 | public int TriangleIndex { get { return _triangleIndex; } set { _triangleIndex = value; } } |
62 | } | 62 | } |
63 | } | 63 | } |