00001 #ifndef CHARACTER_COLLISION_CALLBACK_H_INCLUDED 00002 #define CHARACTER_COLLISION_CALLBACK_H_INCLUDED 00003 00004 #include <btBulletDynamicsCommon.h> 00005 00012 class CharacterCollisionCallback : public btCollisionWorld::ClosestConvexResultCallback { 00013 private: 00014 btCollisionObject *me; 00015 public: 00019 CharacterCollisionCallback(btCollisionObject *me, const btVector3 &from, 00020 const btVector3 &to) 00021 : btCollisionWorld::ClosestConvexResultCallback(from, to), me(me) { 00022 } 00023 virtual btScalar addSingleResult(btCollisionWorld::LocalConvexResult &result, bool normal) { 00024 if (result.m_hitCollisionObject == me) return 1.0f; 00025 return btCollisionWorld::ClosestConvexResultCallback::addSingleResult( 00026 result, normal); 00027 } 00028 }; 00029 00030 #endif