2017-08-01 12:30:58 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2005 Erwin Coumans http://bulletphysics.org
|
|
|
|
*
|
|
|
|
* Permission to use, copy, modify, distribute and sell this software
|
|
|
|
* and its documentation for any purpose is hereby granted without fee,
|
|
|
|
* provided that the above copyright notice appear in all copies.
|
|
|
|
* Erwin Coumans makes no representations about the suitability
|
|
|
|
* of this software for any purpose.
|
|
|
|
* It is provided "as is" without express or implied warranty.
|
|
|
|
*/
|
|
|
|
#ifndef BT_VEHICLE_RAYCASTER_H
|
|
|
|
#define BT_VEHICLE_RAYCASTER_H
|
|
|
|
|
|
|
|
#include "LinearMath/btVector3.h"
|
|
|
|
|
|
|
|
/// btVehicleRaycaster is provides interface for between vehicle simulation and raycasting
|
|
|
|
struct btVehicleRaycaster
|
|
|
|
{
|
2019-01-03 13:26:51 +00:00
|
|
|
virtual ~btVehicleRaycaster()
|
|
|
|
{
|
|
|
|
}
|
2017-08-01 12:30:58 +00:00
|
|
|
struct btVehicleRaycasterResult
|
|
|
|
{
|
2019-01-03 13:26:51 +00:00
|
|
|
btVehicleRaycasterResult() : m_distFraction(btScalar(-1.)){};
|
|
|
|
btVector3 m_hitPointInWorld;
|
|
|
|
btVector3 m_hitNormalInWorld;
|
|
|
|
btScalar m_distFraction;
|
2017-08-01 12:30:58 +00:00
|
|
|
};
|
|
|
|
|
2019-01-03 13:26:51 +00:00
|
|
|
virtual void* castRay(const btVector3& from, const btVector3& to, btVehicleRaycasterResult& result) = 0;
|
2017-08-01 12:30:58 +00:00
|
|
|
};
|
|
|
|
|
2019-01-03 13:26:51 +00:00
|
|
|
#endif //BT_VEHICLE_RAYCASTER_H
|