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