#include <IntrSphereOBB.h>
TDataTypes is the sphere type and TDataTypes2 the OBB type.
Public Member Functions | |
TIntrSphereOBB (const IntrSph &sphere, const Box &box) | |
bool | Find () |
Real | distance () const |
![]() | |
const Vec3 & | separatingAxis () const |
const Vec3 & | pointOnFirst () const |
const Vec3 & | pointOnSecond () const |
bool | colliding () const |
Additional Inherited Members | |
![]() | |
Vec3 | _sep_axis |
Vec3 | _pt_on_first |
Vec3 | _pt_on_second |
TDataTypes::Real | mContactTime |
bool | _is_colliding |
collisionobbcapsule::detection::intersection::TIntrSphereOBB< TDataTypes, TDataTypes2 >::TIntrSphereOBB | ( | const IntrSph & | sphere, |
const Box & | box | ||
) |
TIntrSphereOBB< TDataTypes, TDataTypes2 >::Real collisionobbcapsule::detection::intersection::TIntrSphereOBB< TDataTypes, TDataTypes2 >::distance |
bool collisionobbcapsule::detection::intersection::TIntrSphereOBB< TDataTypes, TDataTypes2 >::Find |
The idea of finding contact points is simple : project the sphere center on the OBB and find the intersection point on the OBB. Once we have this point we project it on the sphere.