Definition of a capsule.
The capsule can be thought of as a cylinder with spherical caps attached. The capsule's length refers to the length of the cylindrical region, and the radius applies to both the cylinder and spherical caps. A capsule with zero length is a sphere of the given radius. And a capsule with zero radius is a line segment with the given length. The capsule is defined in its canonical frame C, centered on the frame origin and with the length of the capsule parallel with the frame's z-axis.
#include <drake/geometry/shape_specification.h>
Public Member Functions | |
Capsule (double radius, double length) | |
Constructs a capsule with the given radius and length . More... | |
Capsule (const Vector2< double > &measures) | |
Constructs a capsule with a vector of measures: radius and length. More... | |
~Capsule () final | |
double | radius () const |
double | length () const |
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable | |
Capsule (const Capsule &)=default | |
Capsule & | operator= (const Capsule &)=default |
Capsule (Capsule &&)=default | |
Capsule & | operator= (Capsule &&)=default |
Public Member Functions inherited from Shape | |
virtual | ~Shape () |
void | Reify (ShapeReifier *reifier, void *user_data=nullptr) const |
Causes this description to be reified in the given reifier . More... | |
std::unique_ptr< Shape > | Clone () const |
Creates a unique copy of this shape. More... | |
std::string_view | type_name () const |
Returns the (unqualified) type name of this Shape, e.g., "Box". More... | |
std::string | to_string () const |
Returns a string representation of this shape. More... | |
template<typename ReturnType = void, typename Visitor > | |
decltype(auto) | Visit (Visitor &&visitor) const |
Calls the given visitor function with *this as the sole argument, but with *this downcast to be the shape's concrete subclass. More... | |
Additional Inherited Members | |
Protected Types inherited from Shape | |
using | VariantShapeConstPtr = std::variant< const Box *, const Capsule *, const Convex *, const Cylinder *, const Ellipsoid *, const HalfSpace *, const Mesh *, const MeshcatCone *, const Sphere * > |
(Internal use only) All concrete subclasses, as const pointers. More... | |
Protected Member Functions inherited from Shape | |
Shape () | |
(Internal use only) Constructor for use by derived classes. More... | |
Shape (const Shape &)=default | |
(Internal use only) For derived classes. More... | |
Shape & | operator= (const Shape &)=default |
(Internal use only) For derived classes. More... | |
Shape (Shape &&)=default | |
(Internal use only) For derived classes. More... | |
Shape & | operator= (Shape &&)=default |
(Internal use only) For derived classes. More... | |
Constructs a capsule with the given radius
and length
.
std::exception | if radius or length are not strictly positive. |
Constructs a capsule with a vector of measures: radius and length.
std::exception | if the measures are not strictly positive. |
|
final |
double length | ( | ) | const |
double radius | ( | ) | const |