|
opensurgsim
|
Generic rigid shape class defining a shape. More...
#include <Shape.h>
Public Types | |
| 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 |
Public Member Functions | |
| Shape () | |
| Constructor. | |
| virtual | ~Shape () |
| Destructor. | |
| virtual int | getType () const =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 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 void | setPose (const RigidTransform3d &pose) |
| Set the pose on a transformable shape. More... | |
| virtual void | updateShape () |
| Update the internals of a transformable shape. | |
| virtual void | updateShapePartial () |
| Update some of the internals of a transformable shape. More... | |
| virtual std::string | getClassName () const |
| Get class name. | |
| virtual bool | isValid () const =0 |
| Check if the shape is valid. More... | |
| virtual const Math::Aabbd & | getBoundingBox () const |
Public Member Functions inherited from SurgSim::Framework::Accessible | |
| Accessible () | |
| Default Constructor. | |
| ~Accessible () | |
| Destructor. | |
| 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... | |
| std::vector< std::string > | getProperties () |
| template<> | |
| boost::any | getValue (const std::string &name) const |
Protected Attributes | |
| Math::Aabbd | m_aabb |
Additional Inherited Members | |
Static Public Member Functions inherited from SurgSim::Framework::FactoryBase< Shape > | |
| static FactoryType & | getFactory () |
Generic rigid shape class defining a shape.
|
virtual |
Reimplemented in SurgSim::Math::CompoundShape, SurgSim::Math::ParticlesShape, and SurgSim::Math::OctreeShape.
|
pure virtual |
Get the volumetric center of the shape.
Implemented in SurgSim::Math::CompoundShape, SurgSim::Math::MeshShape, SurgSim::Math::ParticlesShape, SurgSim::Math::BoxShape, SurgSim::Math::OctreeShape, SurgSim::Math::SegmentMeshShape, SurgSim::Math::CapsuleShape, SurgSim::Math::CylinderShape, SurgSim::Math::PlaneShape, SurgSim::Math::SphereShape, and SurgSim::Math::DoubleSidedPlaneShape.
|
pure virtual |
Get the second central moment of the volume, commonly used to calculate the moment of inertia matrix.
Implemented in SurgSim::Math::CompoundShape, SurgSim::Math::MeshShape, SurgSim::Math::ParticlesShape, SurgSim::Math::BoxShape, SurgSim::Math::CapsuleShape, SurgSim::Math::OctreeShape, SurgSim::Math::CylinderShape, SurgSim::Math::SegmentMeshShape, SurgSim::Math::PlaneShape, SurgSim::Math::SphereShape, and SurgSim::Math::DoubleSidedPlaneShape.
|
virtual |
Get a copy of this shape with an applied rigid transform.
| pose | The pose to transform the shape by |
Reimplemented in SurgSim::Math::CompoundShape, SurgSim::Math::MeshShape, SurgSim::Math::ParticlesShape, and SurgSim::Math::SegmentMeshShape.
|
pure virtual |
Implemented in SurgSim::Math::CompoundShape, SurgSim::Math::ParticlesShape, SurgSim::Math::MeshShape, SurgSim::Math::SurfaceMeshShape, SurgSim::Math::SegmentMeshShape, SurgSim::Math::OctreeShape, SurgSim::Math::PlaneShape, SurgSim::Math::BoxShape, SurgSim::Math::CapsuleShape, SurgSim::Math::CylinderShape, SurgSim::Math::DoubleSidedPlaneShape, and SurgSim::Math::SphereShape.
|
pure virtual |
Get the volume of the shape.
Implemented in SurgSim::Math::CompoundShape, SurgSim::Math::MeshShape, SurgSim::Math::ParticlesShape, SurgSim::Math::BoxShape, SurgSim::Math::OctreeShape, SurgSim::Math::SegmentMeshShape, SurgSim::Math::CapsuleShape, SurgSim::Math::CylinderShape, SurgSim::Math::PlaneShape, SurgSim::Math::SphereShape, and SurgSim::Math::DoubleSidedPlaneShape.
|
virtual |
Reimplemented in SurgSim::Math::CompoundShape, and SurgSim::Math::VerticesShape.
|
pure virtual |
Check if the shape is valid.
Implemented in SurgSim::Math::CompoundShape, SurgSim::Math::MeshShape, SurgSim::Math::ParticlesShape, SurgSim::Math::BoxShape, SurgSim::Math::OctreeShape, SurgSim::Math::SurfaceMeshShape, SurgSim::Math::CapsuleShape, SurgSim::Math::PlaneShape, SurgSim::Math::CylinderShape, SurgSim::Math::DoubleSidedPlaneShape, SurgSim::Math::SegmentMeshShape, and SurgSim::Math::SphereShape.
|
virtual |
Set the pose on a transformable shape.
| pose | The pose to transform the shape by. |
Reimplemented in SurgSim::Math::CompoundShape, SurgSim::Math::MeshShape, SurgSim::Math::ParticlesShape, and SurgSim::Math::SegmentMeshShape.
|
virtual |
Update some of the internals of a transformable shape.
Only called if the AABB has not changed much.
Reimplemented in SurgSim::Math::CompoundShape, SurgSim::Math::MeshShape, SurgSim::Math::ParticlesShape, and SurgSim::Math::SegmentMeshShape.
1.8.12