mirror of
https://github.com/rwengine/openrw.git
synced 2024-11-10 04:42:38 +01:00
23 lines
691 B
C++
23 lines
691 B
C++
|
#pragma once
|
||
|
#include <bullet/btBulletDynamicsCommon.h>
|
||
|
|
||
|
/**
|
||
|
* Implements raycast callback that ignores a specified btCollisionObject
|
||
|
*/
|
||
|
class ClosestNotMeRayResultCallback : public btCollisionWorld::ClosestRayResultCallback
|
||
|
{
|
||
|
btCollisionObject* _self;
|
||
|
public:
|
||
|
|
||
|
ClosestNotMeRayResultCallback( btCollisionObject* self, const btVector3& from, const btVector3& to )
|
||
|
: ClosestRayResultCallback( from, to ), _self( self ) {}
|
||
|
|
||
|
virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult &rayResult, bool normalInWorldSpace)
|
||
|
{
|
||
|
if( rayResult.m_collisionObject == _self ) {
|
||
|
return 1.0;
|
||
|
}
|
||
|
return ClosestRayResultCallback::addSingleResult( rayResult, normalInWorldSpace );
|
||
|
}
|
||
|
};
|