SurgSim::Math::CylinderShape Class Reference

Cylinder shape: centered on (0 0 0), aligned along Y, defined with length and radius. More...

`#include <SurgSim/Math/CylinderShape.h>`

Inheritance diagram for SurgSim::Math::CylinderShape:

## Public Member Functions

| CylinderShape (double length=0.0, double radius=0.0)
| Constructor. More...
| SURGSIM_CLASSNAME (SurgSim::Math::CylinderShape)
int | getType () const override
double | getLength () const
| Get the cylinder length. More...
double | getRadius () const
| Get the cylinder radius. More...
double | getVolume () const override
| Get the volume of the shape. More...
Vector3d | getCenter () const override
| Get the volumetric center of the shape. More...
Matrix33d | getSecondMomentOfVolume () const override
| Get the second central moment of the volume, commonly used to calculate the moment of inertia matrix. More...
bool | isValid () const override
Public Member Functions inherited from SurgSim::Math::Shape
| Shape ()
| Constructor. More...
virtual | ~Shape ()
| Destructor. More...
virtual bool | isTransformable () const
virtual std::shared_ptr< Shape > | getTransformed (const RigidTransform3d &pose) const
| Get a copy of this shape with an applied rigid transform. More...
virtual std::string | getClassName () const
| Get class name. More...
virtual const Math::Aabbd & | getBoundingBox () const
Public Member Functions inherited from SurgSim::Framework::Accessible
| Accessible ()
| Default Constructor. More...
| ~Accessible ()
| Destructor. More...
template<class T >
T | getValue (const std::string &name) const
| Retrieves the value with the name by executing the getter if it is found and tries to convert it to the given type. More...
boost::any | getValue (const std::string &name) const
| Retrieves the value with the name by executing the getter if it is found. More...
template<class T >
bool | getValue (const std::string &name, T *value) const
| Retrieves the value with the name by executing the getter if it is found, and converts it to the type of the output parameter. More...
void | setValue (const std::string &name, const boost::any &value)
| Sets a value of a property that has setter. More...
bool | isReadable (const std::string &name) const
| Check whether a property is readable. More...
bool | isWriteable (const std::string &name) const
| Check whether a property is writable. More...
void | setGetter (const std::string &name, GetterType func)
| Sets a getter for a given property. More...
void | setSetter (const std::string &name, SetterType func)
| Sets a setter for a given property. More...
void | setAccessors (const std::string &name, GetterType getter, SetterType setter)
| Sets the accessors getter and setter in one function. More...
void | removeAccessors (const std::string &name)
| Removes all the accessors (getter and setter) for a given property. More...
void | forwardProperty (const std::string &name, const Accessible &target, const std::string &targetProperty)
| Adds a property with the given name that uses the targets accessors, in effect forwarding the value to the target. More...
void | setSerializable (const std::string &name, EncoderType encoder, DecoderType decoder)
| Sets the functions used to convert data from and to a YAML::Node. More...
void | setDecoder (const std::string &name, DecoderType decoder)
| Sets the functions used to convert data from a YAML::Node. More...
YAML::Node | encode () const
| Encode this Accessible to a YAML::Node. More...
void | decode (const YAML::Node &node, const std::vector< std::string > &ignoredProperties=std::vector< std::string >())
| Decode this Accessible from a YAML::Node, will throw an exception if the data type cannot be converted. More...
template<>
boost::any | getValue (const std::string &name) const

## Protected Member Functions

void | setLength (double length)
| Set the cylinder length. More...
void | setRadius (double radius)
| Set the cylinder radius. More...

## Private Member Functions

void | updateAabb ()

## Private Attributes

double | m_length
| The cylinder length. More...
double | m_radius
| The cylinder radius. More...

## Additional Inherited Members

Public Types inherited from SurgSim::Math::Shape
typedef ::SurgSim::Math::Vector3d | Vector3d
typedef ::SurgSim::Math::Matrix33d | Matrix33d
Public Types inherited from SurgSim::Framework::Accessible
typedef std::function< boost::any(void)> | GetterType
typedef std::function< void(boost::any)> | SetterType
typedef std::function< YAML::Node(void)> | EncoderType
typedef std::function< void(const YAML::Node *)> | DecoderType
Public Types inherited from SurgSim::Framework::FactoryBase< Shape >
typedef ObjectFactory< Shape > | FactoryType
Static Public Member Functions inherited from SurgSim::Framework::FactoryBase< Shape >
static FactoryType & | getFactory ()
Protected Attributes inherited from SurgSim::Math::Shape
Math::Aabbd | m_aabb

## Detailed Description

Cylinder shape: centered on (0 0 0), aligned along Y, defined with length and radius.

## Constructor & Destructor Documentation

## CylinderShape()

SurgSim::Math::CylinderShape::CylinderShape | ( | double | length = `0.0`,
|  | double | radius = `0.0`
| ) |  |

explicit

Constructor.

Parameters

  length | The length of the cylinder (in m)
  radius | The cylinder radius (in m)

## Member Function Documentation

## getCenter()

SurgSim::Math::Vector3d SurgSim::Math::CylinderShape::getCenter | ( |  | ) | const

override virtual

Get the volumetric center of the shape.

Returns
  The center of the shape

Implements SurgSim::Math::Shape.

## getLength()

double SurgSim::Math::CylinderShape::getLength | ( |  | ) | const

Get the cylinder length.

Returns
  The cylinder length (in m)

## getRadius()

double SurgSim::Math::CylinderShape::getRadius | ( |  | ) | const

Get the cylinder radius.

Returns
  The cylinder radius (in m)

## getSecondMomentOfVolume()

SurgSim::Math::Matrix33d SurgSim::Math::CylinderShape::getSecondMomentOfVolume | ( |  | ) | const

override virtual

Get the second central moment of the volume, commonly used to calculate the moment of inertia matrix.

Returns
  The 3x3 symmetric second moment matrix

Implements SurgSim::Math::Shape.

## getType()

int SurgSim::Math::CylinderShape::getType | ( |  | ) | const

override virtual

Returns
  the type of the shape

Implements SurgSim::Math::Shape.

## getVolume()

double SurgSim::Math::CylinderShape::getVolume | ( |  | ) | const

override virtual

Get the volume of the shape.

Returns
  The volume of the shape (in m-3)

Implements SurgSim::Math::Shape.

## isValid()

bool SurgSim::Math::CylinderShape::isValid | ( |  | ) | const

override virtual

Returns
  True if length and radius are bigger than or equal to 0; Otherwise, false.

Implements SurgSim::Math::Shape.

## setLength()

void SurgSim::Math::CylinderShape::setLength | ( | double | length | ) |

protected

Set the cylinder length.

Parameters

  length | The capsule length (in m)

## setRadius()

void SurgSim::Math::CylinderShape::setRadius | ( | double | radius | ) |

protected

Set the cylinder radius.

Parameters

  radius | The capsule radius (in m)

## SURGSIM_CLASSNAME()

SurgSim::Math::CylinderShape::SURGSIM_CLASSNAME | ( | SurgSim::Math::CylinderShape |  | ) |

## updateAabb()

void SurgSim::Math::CylinderShape::updateAabb | ( |  | ) |

private

## Member Data Documentation

## m_length

double SurgSim::Math::CylinderShape::m_length

private

The cylinder length.

## m_radius

double SurgSim::Math::CylinderShape::m_radius

private

The cylinder radius.

The documentation for this class was generated from the following files:

- SurgSim/Math/CylinderShape.h
- SurgSim/Math/CylinderShape.cpp