All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
SurgSim::Math::CapsuleShape Class Reference

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

#include <SurgSim/Math/CapsuleShape.h>

Inheritance diagram for SurgSim::Math::CapsuleShape:
Inheritance graph
[legend]
Collaboration diagram for SurgSim::Math::CapsuleShape:
Collaboration graph
[legend]

Public Member Functions

 CapsuleShape (double length=0.0, double radius=0.0)
 Constructor. More...
 
 SURGSIM_CLASSNAME (SurgSim::Math::CapsuleShape)
 
virtual int getType () override
 
double getLength () const
 Get the capsule length (i.e. More...
 
double getRadius () const
 Get the capsule radius (i.e. More...
 
virtual double getVolume () const override
 Get the volume of the shape. More...
 
virtual Vector3d getCenter () const override
 Get the volumetric center of the shape. More...
 
Vector3d topCenter () const
 Return the center of the top sphere of the internal cylinder. More...
 
Vector3d bottomCenter () const
 Return the center of the bottom sphere of the internal cylinder. More...
 
virtual Matrix33d getSecondMomentOfVolume () const override
 Get the second central moment of the volume, commonly used to calculate the moment of inertia matrix. More...
 
virtual bool isValid () const override
 
- Public Member Functions inherited from SurgSim::Math::Shape
virtual ~Shape ()
 
virtual std::string getClassName () const
 Get class name. More...
 
- Public Member Functions inherited from SurgSim::Framework::Accessible
 Accessible ()
 Default Constructor. More...
 
 ~Accessible ()
 Destructor. More...
 
template<class 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...
 
YAML::Node encode () const
 Encode this Accessible to a YAML::Node. More...
 
void decode (const YAML::Node &node)
 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 capsule length (i.e. More...
 
void setRadius (double radius)
 Set the capsule radius (i.e. More...
 

Private Attributes

double m_length
 Capsule length. More...
 
double m_radius
 Capsule radius. More...
 

Additional Inherited Members

- Public Types inherited from SurgSim::Math::Shape
typedef ::SurgSim::Math::Vector3d Vector3d
 
typedef ::SurgSim::Math::Matrix33d Matrix33d
 
typedef
SurgSim::Framework::ObjectFactory
< SurgSim::Math::Shape
FactoryType
 
- 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
 
- Static Public Member Functions inherited from SurgSim::Math::Shape
static FactoryTypegetFactory ()
 

Detailed Description

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

Constructor & Destructor Documentation

SurgSim::Math::CapsuleShape::CapsuleShape ( double  length = 0.0,
double  radius = 0.0 
)

Constructor.

Parameters
lengthThe capsule length (i.e. of the cylinder) (in m)
radiusThe capsule radius (i.e. of the cylinder/spheres) (in m)

Member Function Documentation

SurgSim::Math::Vector3d SurgSim::Math::CapsuleShape::bottomCenter ( ) const

Return the center of the bottom sphere of the internal cylinder.

Returns
The bottom center of the sphere of the capsule
SurgSim::Math::Vector3d SurgSim::Math::CapsuleShape::getCenter ( ) const
overridevirtual

Get the volumetric center of the shape.

Returns
The center of the shape

Implements SurgSim::Math::Shape.

double SurgSim::Math::CapsuleShape::getLength ( ) const

Get the capsule length (i.e.

cylinder length)

Returns
The capsule length (in m)
double SurgSim::Math::CapsuleShape::getRadius ( ) const

Get the capsule radius (i.e.

cylinder/spheres radius)

Returns
The capsule radius (in m)
SurgSim::Math::Matrix33d SurgSim::Math::CapsuleShape::getSecondMomentOfVolume ( ) const
overridevirtual

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.

int SurgSim::Math::CapsuleShape::getType ( )
overridevirtual
Returns
the type of the shape

Implements SurgSim::Math::Shape.

double SurgSim::Math::CapsuleShape::getVolume ( ) const
overridevirtual

Get the volume of the shape.

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

Implements SurgSim::Math::Shape.

bool SurgSim::Math::CapsuleShape::isValid ( ) const
overridevirtual
Returns
True if length and radius are bigger than or equal to 0; Otherwise, false.

Implements SurgSim::Math::Shape.

void SurgSim::Math::CapsuleShape::setLength ( double  length)
protected

Set the capsule length (i.e.

cylinder length)

Parameters
lengthThe capsule length (in m)
void SurgSim::Math::CapsuleShape::setRadius ( double  radius)
protected

Set the capsule radius (i.e.

cylinder/spheres radius)

Parameters
radiusThe capsule radius (in m)
SurgSim::Math::CapsuleShape::SURGSIM_CLASSNAME ( SurgSim::Math::CapsuleShape  )
SurgSim::Math::Vector3d SurgSim::Math::CapsuleShape::topCenter ( ) const

Return the center of the top sphere of the internal cylinder.

Returns
The top center of the sphere of the capsule

Member Data Documentation

double SurgSim::Math::CapsuleShape::m_length
private

Capsule length.

double SurgSim::Math::CapsuleShape::m_radius
private

Capsule radius.


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