All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for SurgSim::Math::PlaneShape:
Collaboration graph
[legend]

Public Member Functions

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

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

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

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

Constructor: No members to initialize.

Member Function Documentation

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

Get the volumetric center of the shape.

Returns
The center of the shape

Implements SurgSim::Math::Shape.

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

Gets the d of the plane equation.

Returns
The value of d (always 0).
SurgSim::Math::Vector3d SurgSim::Math::PlaneShape::getNormal ( ) const

Gets the normal of the plane equation.

Returns
The value of the normal (always Y axis).
SurgSim::Math::Matrix33d SurgSim::Math::PlaneShape::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::PlaneShape::getType ( )
overridevirtual
Returns
the type of the shape

Implements SurgSim::Math::Shape.

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

A PlaneShape is always valid.

Returns
True.

Implements SurgSim::Math::Shape.

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

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