All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
SurgSim::Math::Shape Class Referenceabstract

Generic rigid shape class defining a shape. More...

#include <SurgSim/Math/Shape.h>

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

Public Types

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
 

Public Member Functions

virtual ~Shape ()
 
virtual int getType ()=0
 
virtual double getVolume () const =0
 Get the volume of the shape. More...
 
virtual Vector3d getCenter () const =0
 Get the volumetric center of the shape. More...
 
virtual Matrix33d getSecondMomentOfVolume () const =0
 Get the second central moment of the volume, commonly used to calculate the moment of inertia matrix. More...
 
virtual std::string getClassName () const
 Get class name. More...
 
virtual bool isValid () const =0
 Check if the shape is valid. 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
 

Static Public Member Functions

static FactoryTypegetFactory ()
 

Detailed Description

Generic rigid shape class defining a shape.

Note
This class gives the ability to analyze the shape and compute
physical information (volume, mass, mass center, inertia)

Member Typedef Documentation

Constructor & Destructor Documentation

SurgSim::Math::Shape::~Shape ( )
virtual

Member Function Documentation

virtual Vector3d SurgSim::Math::Shape::getCenter ( ) const
pure virtual
std::string SurgSim::Math::Shape::getClassName ( ) const
virtual

Get class name.

Shape::FactoryType & SurgSim::Math::Shape::getFactory ( )
static
Returns
The static class factory that is being used in the conversion.
virtual Matrix33d SurgSim::Math::Shape::getSecondMomentOfVolume ( ) const
pure 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

Implemented in SurgSim::Math::MeshShape, SurgSim::Math::SurfaceMeshShape, SurgSim::Math::BoxShape, SurgSim::Math::CapsuleShape, SurgSim::Math::OctreeShape, SurgSim::Math::CylinderShape, SurgSim::Math::PlaneShape, SurgSim::Math::SphereShape, and SurgSim::Math::DoubleSidedPlaneShape.

virtual int SurgSim::Math::Shape::getType ( )
pure virtual
virtual double SurgSim::Math::Shape::getVolume ( ) const
pure virtual
virtual bool SurgSim::Math::Shape::isValid ( ) const
pure virtual

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