coal 3.0.1
Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library
|
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) \). More...
#include <coal/shape/geometric_shapes.h>
Public Member Functions | |
Capsule () | |
Default constructor. | |
Capsule (Scalar radius_, Scalar lz_) | |
Capsule (const Capsule &other) | |
virtual Capsule * | clone () const |
Clone *this into a new Capsule. | |
void | computeLocalAABB () |
Compute AABB. | |
NODE_TYPE | getNodeType () const |
Get node type: a capsule. | |
Scalar | computeVolume () const |
compute the volume | |
Matrix3s | computeMomentofInertia () const |
compute the inertia matrix, related to the origin | |
Scalar | minInflationValue () const |
std::pair< Capsule, Transform3s > | inflated (const Scalar value) const |
Inflate the capsule by an amount given by value . This value can be positive or negative but must always >= minInflationValue() . | |
![]() | |
ShapeBase () | |
ShapeBase (const ShapeBase &other) | |
| |
ShapeBase & | operator= (const ShapeBase &other)=default |
virtual | ~ShapeBase () |
OBJECT_TYPE | getObjectType () const |
Get object type: a geometric shape. | |
void | setSweptSphereRadius (Scalar radius) |
Set radius of sphere swept around the shape. Must be >= 0. | |
Scalar | getSweptSphereRadius () const |
Get radius of sphere swept around the shape. This radius is always >= 0. | |
![]() | |
CollisionGeometry () | |
CollisionGeometry (const CollisionGeometry &other)=default | |
Copy constructor. | |
virtual | ~CollisionGeometry () |
bool | operator== (const CollisionGeometry &other) const |
Equality operator. | |
bool | operator!= (const CollisionGeometry &other) const |
Difference operator. | |
void * | getUserData () const |
get user data in geometry | |
void | setUserData (void *data) |
set user data in geometry | |
bool | isOccupied () const |
whether the object is completely occupied | |
bool | isFree () const |
whether the object is completely free | |
bool | isUncertain () const |
whether the object has some uncertainty | |
virtual Vec3s | computeCOM () const |
compute center of mass | |
virtual Matrix3s | computeMomentofInertiaRelatedToCOM () const |
compute the inertia matrix, related to the com | |
Public Attributes | |
Scalar | radius |
Radius of capsule. | |
Scalar | halfLength |
Half Length along z axis. | |
![]() | |
Vec3s | aabb_center |
AABB center in local coordinate. | |
Scalar | aabb_radius |
AABB radius. | |
AABB | aabb_local |
AABB in local coordinate, used for tight AABB when only translation transform. | |
void * | user_data |
pointer to user defined data specific to this object | |
Scalar | cost_density |
collision cost for unit volume | |
Scalar | threshold_occupied |
threshold for occupied ( >= is occupied) | |
Scalar | threshold_free |
threshold for free (<= is free) | |
Additional Inherited Members | |
![]() | |
Scalar | m_swept_sphere_radius {0} |
Radius of the sphere swept around the shape. Default value is 0. Note: this property differs from inflated method of certain derived classes (e.g. Box, Sphere, Ellipsoid, Capsule, Cone, Cylinder) in the sense that inflated returns a new shape which can be inflated but also deflated. Also, an inflated shape is not rounded. It simply has a different size. Sweeping a shape with a sphere is a different operation (a Minkowski sum), which rounds the sharp corners of a shape. The swept sphere radius is a property of the shape itself and can be manually updated between collision checks. | |
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) \).
|
inline |
Default constructor.
|
inline |
|
inlinevirtual |
Clone *this into a new Capsule.
Implements coal::CollisionGeometry.
|
virtual |
Compute AABB.
Implements coal::CollisionGeometry.
|
inlinevirtual |
compute the inertia matrix, related to the origin
Reimplemented from coal::CollisionGeometry.
|
inlinevirtual |
compute the volume
Reimplemented from coal::CollisionGeometry.
|
inlinevirtual |
Get node type: a capsule.
Reimplemented from coal::CollisionGeometry.
|
inline |
Inflate the capsule by an amount given by value
. This value can be positive or negative but must always >= minInflationValue()
.
[in] | value | of the shape inflation. |
|
inline |
Scalar coal::Capsule::halfLength |
Half Length along z axis.
Scalar coal::Capsule::radius |
Radius of capsule.