Go to the documentation of this file.
55 else if (num >= denom)
70 a_sd =
a + s_n / s_d *
d;
100 const coal::Vec3s d2 = 2 * halfLength2 *
tf2.getRotation().col(2);
124 }
else if (e <= EPSILON) {
134 if (denom > EPSILON) {
135 s =
clamp((
b * f -
c * e), denom);
150 w2 = p2 +
t / e * d2;
161 normal = (w2 - w1).normalized();
162 wp1 = w1 + radius1 * normal;
163 wp2 = w2 - radius2 * normal;
Eigen::Matrix< CoalScalar, 3, 1 > Vec3s
CoalScalar halfLength
Half Length along z axis.
Capsule It is where is the distance between the point x and the capsule segment AB,...
CoalScalar clamp(const CoalScalar &num, const CoalScalar &denom)
Clamp num / denom in [0, 1].
collision and distance solver based on the GJK and EPA algorithms. Originally, GJK and EPA were imple...
COAL_DLLAPI CoalScalar distance(const Matrix3s &R0, const Vec3s &T0, const kIOS &b1, const kIOS &b2, Vec3s *P=NULL, Vec3s *Q=NULL)
Approximate distance between two kIOS bounding volumes.
The geometry for the object for collision or distance computation.
CoalScalar getSweptSphereRadius() const
Get radius of sphere swept around the shape. This radius is always >= 0.
static CoalScalar epsilon
void clamped_linear(Vec3s &a_sd, const Vec3s &a, const CoalScalar &s_n, const CoalScalar &s_d, const Vec3s &d)
Clamp s=s_n/s_d in [0, 1] and stores a + s * d in a_sd.
CoalScalar ShapeShapeDistance< Capsule, Capsule >(const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &wp1, Vec3s &wp2, Vec3s &normal)
CoalScalar radius
Radius of capsule.
hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:44:57