DART 6.10.1
Loading...
Searching...
No Matches
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.
 
 PlanarJointUniqueProperties (const Eigen::Vector3d &_transAxis1, const Eigen::Vector3d &_transAxis2)
 Constructor for arbitrary plane types.
 
 PlanarJointUniqueProperties (const PlanarJointUniqueProperties &other)
 Copy-constructor, customized for robustness.
 
virtual ~PlanarJointUniqueProperties ()=default
 
PlanarJointUniquePropertiesoperator= (const PlanarJointUniqueProperties &other)
 Assignment operator.
 
void setXYPlane ()
 Set plane type as XY-plane.
 
void setYZPlane ()
 Set plane type as YZ-plane.
 
void setZXPlane ()
 Set plane type as ZX-plane.
 
void setArbitraryPlane (const Eigen::Vector3d &_transAxis1, const Eigen::Vector3d &_transAxis2)
 Set plane type as arbitrary plane with two orthogonal translational axes.
 

Public Attributes

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

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

◆ operator=()

PlanarJointUniqueProperties & dart::dynamics::detail::PlanarJointUniqueProperties::operator= ( const PlanarJointUniqueProperties other)

Assignment operator.

◆ 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.