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::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:
Inheritance graph
[legend]
Collaboration diagram for SurgSim::Math::CylinderShape:
Collaboration graph
[legend]

Public Member Functions

 CylinderShape (double length=0.0, double radius=0.0)
 Constructor. More...
 
 SURGSIM_CLASSNAME (SurgSim::Math::CylinderShape)
 
virtual int getType () override
 
double getLength () const
 Get the cylinder length. More...
 
double getRadius () const
 Get the cylinder radius. 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...
 
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 cylinder length. More...
 
void setRadius (double radius)
 Set the cylinder radius. More...
 

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
 
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

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

Constructor & Destructor Documentation

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

Constructor.

Parameters
lengthThe length of the cylinder (in m)
radiusThe cylinder radius (in m)

Member Function Documentation

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

Get the volumetric center of the shape.

Returns
The center of the shape

Implements SurgSim::Math::Shape.

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

Get the cylinder length.

Returns
The cylinder length (in m)
double SurgSim::Math::CylinderShape::getRadius ( ) const

Get the cylinder radius.

Returns
The cylinder radius (in m)
SurgSim::Math::Matrix33d SurgSim::Math::CylinderShape::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::CylinderShape::getType ( )
overridevirtual
Returns
the type of the shape

Implements SurgSim::Math::Shape.

double SurgSim::Math::CylinderShape::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::CylinderShape::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::CylinderShape::setLength ( double  length)
protected

Set the cylinder length.

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

Set the cylinder radius.

Parameters
radiusThe capsule radius (in m)
SurgSim::Math::CylinderShape::SURGSIM_CLASSNAME ( SurgSim::Math::CylinderShape  )

Member Data Documentation

double SurgSim::Math::CylinderShape::m_length
private

The cylinder length.

double SurgSim::Math::CylinderShape::m_radius
private

The cylinder radius.


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