Class Capsule

Inheritance Relationships

Base Type

Class Documentation

class Capsule : public coal::ShapeBase

Capsule It is \( { x~\in~\mathbb{R}^3, d(x, AB) \leq radius } \) where \( d(x, AB) \) is the distance between the point x and the capsule segment AB, with \( A = (0,0,-halfLength), B = (0,0,halfLength) \).

Public Functions

inline Capsule()

Default constructor.

inline Capsule(CoalScalar radius_, CoalScalar lz_)
inline Capsule(const Capsule &other)
inline virtual Capsule *clone() const

Clone *this into a new Capsule.

virtual void computeLocalAABB()

Compute AABB.

inline virtual NODE_TYPE getNodeType() const

Get node type: a capsule.

inline virtual CoalScalar computeVolume() const

compute the volume

inline virtual Matrix3s computeMomentofInertia() const

compute the inertia matrix, related to the origin

inline CoalScalar minInflationValue() const
inline std::pair<Capsule, Transform3s> inflated(const CoalScalar value) const

Inflate the capsule by an amount given by value. This value can be positive or negative but must always >= minInflationValue().

Parameters:

value[in] of the shape inflation.

Returns:

a new inflated capsule and the related transform to account for the change of shape frame

Public Members

CoalScalar radius

Radius of capsule.

CoalScalar halfLength

Half Length along z axis.