1 /* 2 * Copyright (c) 2005 Erwin Coumans http://bulletphysics.org 3 * 4 * Permission to use, copy, modify, distribute and sell this software 5 * and its documentation for any purpose is hereby granted without fee, 6 * provided that the above copyright notice appear in all copies. 7 * Erwin Coumans makes no representations about the suitability 8 * of this software for any purpose. 9 * It is provided "as is" without express or implied warranty. 10 */ 11 #ifndef BT_VEHICLE_RAYCASTER_H 12 #define BT_VEHICLE_RAYCASTER_H 13 14 #include "LinearMath/btVector3.h" 15 16 /// btVehicleRaycaster is provides interface for between vehicle simulation and raycasting 17 struct btVehicleRaycaster 18 { ~btVehicleRaycasterbtVehicleRaycaster19virtual ~btVehicleRaycaster() 20 { 21 } 22 struct btVehicleRaycasterResult 23 { btVehicleRaycasterResultbtVehicleRaycaster::btVehicleRaycasterResult24 btVehicleRaycasterResult() :m_distFraction(btScalar(-1.)){}; 25 btVector3 m_hitPointInWorld; 26 btVector3 m_hitNormalInWorld; 27 btScalar m_distFraction; 28 }; 29 30 virtual void* castRay(const btVector3& from,const btVector3& to, btVehicleRaycasterResult& result) = 0; 31 32 }; 33 34 #endif //BT_VEHICLE_RAYCASTER_H 35 36