SurgSim::Math::PlaneShape Class Reference

The XZ plane (d = 0) with normal pointing along positive Y axis. More...

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

Inheritance diagram for SurgSim::Math::PlaneShape:

## Public Member Functions

| PlaneShape ()
| Constructor: No members to initialize. More...
| SURGSIM_CLASSNAME (SurgSim::Math::PlaneShape)
int | getType () const override
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...
double | getD () const
| Gets the d of the plane equation. More...
Vector3d | getNormal () const
| Gets the normal of the plane equation. More...
bool | isValid () const override
| A PlaneShape is always valid. More...
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

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

The XZ plane (d = 0) with normal pointing along positive Y axis.

The difference between PlaneShape and DoubleSidedPlane shape is in the way the Physics scene handles these in terms of collision detection. While the DoubleSidedPlane is handled as a thin solid of (essentially) zero thickness and space on either side it, the PlaneShape is considered to be a entirely solid on the side of the plane which is opposite to the normal. It is made of space only on the positive side of the plane normal. This results in having a robust collision object which does not let any objects through, and could be useful to define the scene floor.

## Constructor & Destructor Documentation

## PlaneShape()

SurgSim::Math::PlaneShape::PlaneShape | ( |  | ) |

Constructor: No members to initialize.

## Member Function Documentation

## getCenter()

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

override virtual

Get the volumetric center of the shape.

Returns
  The center of the shape

Implements SurgSim::Math::Shape.

## getD()

double SurgSim::Math::PlaneShape::getD | ( |  | ) | const

Gets the d of the plane equation.

Returns
  The value of d (always 0).

## getNormal()

SurgSim::Math::Vector3d SurgSim::Math::PlaneShape::getNormal | ( |  | ) | const

Gets the normal of the plane equation.

Returns
  The value of the normal (always Y axis).

## getSecondMomentOfVolume()

SurgSim::Math::Matrix33d SurgSim::Math::PlaneShape::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::PlaneShape::getType | ( |  | ) | const

override virtual

Returns
  the type of the shape

Implements SurgSim::Math::Shape.

## getVolume()

double SurgSim::Math::PlaneShape::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::PlaneShape::isValid | ( |  | ) | const

override virtual

A PlaneShape is always valid.

Returns
  True.

Implements SurgSim::Math::Shape.

## SURGSIM_CLASSNAME()

SurgSim::Math::PlaneShape::SURGSIM_CLASSNAME | ( | SurgSim::Math::PlaneShape |  | ) |

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

- SurgSim/Math/PlaneShape.h
- SurgSim/Math/PlaneShape.cpp