walberla::mesa_pd::collision_detection::analytic Namespace Reference

Functions

bool detectSphereSphereCollision (const Vec3 &pos1, const real_t &radius1, const Vec3 &pos2, const real_t &radius2, Vec3 &contactPoint, Vec3 &contactNormal, real_t &penetrationDepth, const real_t &contactThreshold)
 
bool detectSphereBoxCollision (const Vec3 &pos1, const real_t &radius1, const Vec3 &pos2, const Vec3 &edgeLength2, const Rot3 &rot2, Vec3 &contactPoint, Vec3 &contactNormal, real_t &penetrationDepth, const real_t &contactThreshold)
 
bool detectSphereCylindricalBoundaryCollision (const Vec3 &pos1, const real_t &radius1, const Vec3 &pos2, const real_t &radius2, const Vec3 &axis2, Vec3 &contactPoint, Vec3 &contactNormal, real_t &penetrationDepth, const real_t &contactThreshold)
 
bool detectSphereHalfSpaceCollision (const Vec3 &pos1, const real_t &radius1, const Vec3 &pos2, const Vec3 &normal2, Vec3 &contactPoint, Vec3 &contactNormal, real_t &penetrationDepth, const real_t &contactThreshold)
 

Function Documentation

◆ detectSphereBoxCollision()

bool walberla::mesa_pd::collision_detection::analytic::detectSphereBoxCollision ( const Vec3 pos1,
const real_t radius1,
const Vec3 pos2,
const Vec3 edgeLength2,
const Rot3 rot2,
Vec3 contactPoint,
Vec3 contactNormal,
real_t penetrationDepth,
const real_t contactThreshold 
)
inline

◆ detectSphereCylindricalBoundaryCollision()

bool walberla::mesa_pd::collision_detection::analytic::detectSphereCylindricalBoundaryCollision ( const Vec3 pos1,
const real_t radius1,
const Vec3 pos2,
const real_t radius2,
const Vec3 axis2,
Vec3 contactPoint,
Vec3 contactNormal,
real_t penetrationDepth,
const real_t contactThreshold 
)
inline

◆ detectSphereHalfSpaceCollision()

bool walberla::mesa_pd::collision_detection::analytic::detectSphereHalfSpaceCollision ( const Vec3 pos1,
const real_t radius1,
const Vec3 pos2,
const Vec3 normal2,
Vec3 contactPoint,
Vec3 contactNormal,
real_t penetrationDepth,
const real_t contactThreshold 
)
inline

Plane displacement from the origin.

The displacement can be categorized in the following way:

  • > 0: The global origin is inside the plane
  • < 0: The global origin is outside the plane
  • = 0: The global origin is on the surface of the plane

◆ detectSphereSphereCollision()

bool walberla::mesa_pd::collision_detection::analytic::detectSphereSphereCollision ( const Vec3 pos1,
const real_t radius1,
const Vec3 pos2,
const real_t radius2,
Vec3 contactPoint,
Vec3 contactNormal,
real_t penetrationDepth,
const real_t contactThreshold 
)
inline