1 #ifndef OPENMW_MWPHYSICS_CLOSESTNOTMERAYRESULTCALLBACK_H 2 #define OPENMW_MWPHYSICS_CLOSESTNOTMERAYRESULTCALLBACK_H 3 4 #include <vector> 5 6 #include <BulletCollision/CollisionDispatch/btCollisionWorld.h> 7 8 class btCollisionObject; 9 10 namespace MWPhysics 11 { 12 class Projectile; 13 14 class ClosestNotMeRayResultCallback : public btCollisionWorld::ClosestRayResultCallback 15 { 16 public: 17 ClosestNotMeRayResultCallback(const btCollisionObject* me, std::vector<const btCollisionObject*> targets, const btVector3& from, const btVector3& to); 18 19 btScalar addSingleResult(btCollisionWorld::LocalRayResult& rayResult, bool normalInWorldSpace) override; 20 21 private: 22 const btCollisionObject* mMe; 23 const std::vector<const btCollisionObject*> mTargets; 24 }; 25 } 26 27 #endif 28