waLBerla 7.2
Loading...
Searching...
No Matches
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