DART  6.7.3
dart::dynamics::detail::PlanarJointUniqueProperties Struct Reference

Properties that are unique to PlanarJoints. More...

#include <PlanarJointAspect.hpp>

Inheritance diagram for dart::dynamics::detail::PlanarJointUniqueProperties:
dart::dynamics::detail::PlanarJointProperties

Public Member Functions

 PlanarJointUniqueProperties (PlaneType _planeType=PlaneType::XY)
 Constructor for pre-defined plane types. More...
 
 PlanarJointUniqueProperties (const Eigen::Vector3d &_transAxis1, const Eigen::Vector3d &_transAxis2)
 Constructor for arbitrary plane types. More...
 
 PlanarJointUniqueProperties (const PlanarJointUniqueProperties &other)
 Copy-constructor, customized for robustness. More...
 
virtual ~PlanarJointUniqueProperties ()=default
 
void setXYPlane ()
 Set plane type as XY-plane. More...
 
void setYZPlane ()
 Set plane type as YZ-plane. More...
 
void setZXPlane ()
 Set plane type as ZX-plane. More...
 
void setArbitraryPlane (const Eigen::Vector3d &_transAxis1, const Eigen::Vector3d &_transAxis2)
 Set plane type as arbitrary plane with two orthogonal translational axes. More...
 

Public Attributes

PlaneType mPlaneType
 Plane type. More...
 
Eigen::Vector3d mTransAxis1
 First translational axis. More...
 
Eigen::Vector3d mTransAxis2
 Second translational axis. More...
 
Eigen::Vector3d mRotAxis
 Rotational axis. More...
 

Detailed Description

Properties that are unique to PlanarJoints.

Note that the mPlaneType member has greater authority than the mTransAxis1 and mTransAxis2 members. When copying properties into a PlanarJoint, it will first defer to mPlaneType. If mPlaneType is PlaneType::ARBITRARY, then and only then will it use mTransAxis1 and mTransAxis2. mRotAxis has no authority; it will always be recomputed from mTransAxis1 and mTransAxis2 when copying it into a PlanarJoint

Constructor & Destructor Documentation

◆ PlanarJointUniqueProperties() [1/3]

dart::dynamics::detail::PlanarJointUniqueProperties::PlanarJointUniqueProperties ( PlaneType  _planeType = PlaneType::XY)

Constructor for pre-defined plane types.

Defaults to the XY plane if PlaneType::ARBITRARY is specified.

◆ PlanarJointUniqueProperties() [2/3]

dart::dynamics::detail::PlanarJointUniqueProperties::PlanarJointUniqueProperties ( const Eigen::Vector3d &  _transAxis1,
const Eigen::Vector3d &  _transAxis2 
)

Constructor for arbitrary plane types.

mPlaneType will be set to PlaneType::ARBITRARY

◆ PlanarJointUniqueProperties() [3/3]

dart::dynamics::detail::PlanarJointUniqueProperties::PlanarJointUniqueProperties ( const PlanarJointUniqueProperties other)

Copy-constructor, customized for robustness.

◆ ~PlanarJointUniqueProperties()

virtual dart::dynamics::detail::PlanarJointUniqueProperties::~PlanarJointUniqueProperties ( )
virtualdefault

Member Function Documentation

◆ setArbitraryPlane()

void dart::dynamics::detail::PlanarJointUniqueProperties::setArbitraryPlane ( const Eigen::Vector3d &  _transAxis1,
const Eigen::Vector3d &  _transAxis2 
)

Set plane type as arbitrary plane with two orthogonal translational axes.

◆ setXYPlane()

void dart::dynamics::detail::PlanarJointUniqueProperties::setXYPlane ( )

Set plane type as XY-plane.

◆ setYZPlane()

void dart::dynamics::detail::PlanarJointUniqueProperties::setYZPlane ( )

Set plane type as YZ-plane.

◆ setZXPlane()

void dart::dynamics::detail::PlanarJointUniqueProperties::setZXPlane ( )

Set plane type as ZX-plane.

Member Data Documentation

◆ mPlaneType

PlaneType dart::dynamics::detail::PlanarJointUniqueProperties::mPlaneType

Plane type.

◆ mRotAxis

Eigen::Vector3d dart::dynamics::detail::PlanarJointUniqueProperties::mRotAxis

Rotational axis.

◆ mTransAxis1

Eigen::Vector3d dart::dynamics::detail::PlanarJointUniqueProperties::mTransAxis1

First translational axis.

◆ mTransAxis2

Eigen::Vector3d dart::dynamics::detail::PlanarJointUniqueProperties::mTransAxis2

Second translational axis.