Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h')
-rw-r--r--extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h35
1 files changed, 16 insertions, 19 deletions
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h
index bd09d8c4d5d..0b0286c50f4 100644
--- a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h
+++ b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h
@@ -67,15 +67,12 @@ subject to the following restrictions:
class btStackAlloc;
class btCollisionShape;
class btBroadphaseInterface;
-#include "LinearMath/btVector3.h"
-#include "LinearMath/btTransform.h"
+#include "../../LinearMath/btVector3.h"
+#include "../../LinearMath/btTransform.h"
#include "btCollisionObject.h"
#include "btCollisionDispatcher.h" //for definition of btCollisionObjectArray
-#include "BulletCollision/BroadphaseCollision/btOverlappingPairCache.h"
-
-#include <vector>
-
-
+#include "../BroadphaseCollision/btOverlappingPairCache.h"
+#include "../../LinearMath/btAlignedObjectArray.h"
///CollisionWorld is interface and container for the collision detection
class btCollisionWorld
@@ -84,7 +81,7 @@ class btCollisionWorld
protected:
- std::vector<btCollisionObject*> m_collisionObjects;
+ btAlignedObjectArray<btCollisionObject*> m_collisionObjects;
btDispatcher* m_dispatcher1;
@@ -137,18 +134,18 @@ public:
LocalRayResult(btCollisionObject* collisionObject,
LocalShapeInfo* localShapeInfo,
const btVector3& hitNormalLocal,
- float hitFraction)
+ btScalar hitFraction)
:m_collisionObject(collisionObject),
- m_localShapeInfo(m_localShapeInfo),
+ m_localShapeInfo(localShapeInfo),
m_hitNormalLocal(hitNormalLocal),
m_hitFraction(hitFraction)
{
}
- btCollisionObject* m_collisionObject;
+ btCollisionObject* m_collisionObject;
LocalShapeInfo* m_localShapeInfo;
- const btVector3& m_hitNormalLocal;
- float m_hitFraction;
+ btVector3 m_hitNormalLocal;
+ btScalar m_hitFraction;
};
@@ -158,17 +155,17 @@ public:
virtual ~RayResultCallback()
{
}
- float m_closestHitFraction;
+ btScalar m_closestHitFraction;
bool HasHit()
{
- return (m_closestHitFraction < 1.f);
+ return (m_closestHitFraction < btScalar(1.));
}
RayResultCallback()
- :m_closestHitFraction(1.f)
+ :m_closestHitFraction(btScalar(1.))
{
}
- virtual float AddSingleResult(LocalRayResult& rayResult) = 0;
+ virtual btScalar AddSingleResult(LocalRayResult& rayResult) = 0;
};
struct ClosestRayResultCallback : public RayResultCallback
@@ -187,7 +184,7 @@ public:
btVector3 m_hitPointWorld;
btCollisionObject* m_collisionObject;
- virtual float AddSingleResult(LocalRayResult& rayResult)
+ virtual btScalar AddSingleResult(LocalRayResult& rayResult)
{
//caller already does the filter on the m_closestHitFraction
@@ -216,7 +213,7 @@ public:
/// rayTestSingle performs a raycast call and calls the resultCallback. It is used internally by rayTest.
/// In a future implementation, we consider moving the ray test as a virtual method in btCollisionShape.
/// This allows more customization.
- void rayTestSingle(const btTransform& rayFromTrans,const btTransform& rayToTrans,
+ static void rayTestSingle(const btTransform& rayFromTrans,const btTransform& rayToTrans,
btCollisionObject* collisionObject,
const btCollisionShape* collisionShape,
const btTransform& colObjWorldTransform,