|
DART 6.12.2
|
class EulerJoint More...
#include <EulerJoint.hpp>
Public Types | |
| using | AxisOrder = detail::AxisOrder |
| using | UniqueProperties = detail::EulerJointUniqueProperties |
| using | Properties = detail::EulerJointProperties |
| using | Base = detail::EulerJointBase |
| using | Impl = EmbedProperties< DerivedT, PropertiesDataT > |
| using | Derived = typename Impl::Derived |
| using | AspectPropertiesData = typename Impl::AspectPropertiesData |
| using | AspectProperties = typename Impl::AspectProperties |
| using | Aspect = typename Impl::Aspect |
Public Member Functions | |
| bool | hasEulerJointAspect () const |
| Check if this Composite currently has EulerJointAspect . | |
| Aspect * | getEulerJointAspect () |
| Get a(an) EulerJointAspect from this Composite. | |
| const Aspect * | getEulerJointAspect () const |
| Get a(an) EulerJointAspect from this Composite. | |
| Aspect * | getEulerJointAspect (const bool createIfNull) |
| Get a(an) EulerJointAspect from this Composite. | |
| void | setEulerJointAspect (const Aspect *aspect) |
| Make a clone of EulerJointAspect and place the clone into this Composite. | |
| void | setEulerJointAspect (std::unique_ptr< Aspect > &&aspect) |
| Use move semantics to place EulerJointAspect into this Composite. | |
| template<typename... Args> | |
| Aspect * | createEulerJointAspect (Args &&... args) |
| Construct a(an) EulerJointAspect inside of this Composite. | |
| void | removeEulerJointAspect () |
| Remove a(an) EulerJointAspect from this Composite. | |
| std::unique_ptr< Aspect > | releaseEulerJointAspect () |
| Remove a(an) EulerJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted. | |
| EulerJoint (const EulerJoint &)=delete | |
| virtual | ~EulerJoint () |
| Destructor. | |
| void | setProperties (const Properties &_properties) |
| Set the Properties of this EulerJoint. | |
| void | setProperties (const UniqueProperties &_properties) |
| Set the Properties of this EulerJoint. | |
| void | setAspectProperties (const AspectProperties &properties) |
| Set the AspectProperties of this EulerJoint. | |
| Properties | getEulerJointProperties () const |
| Get the Properties of this EulerJoint. | |
| void | copy (const EulerJoint &_otherJoint) |
| Copy the Properties of another EulerJoint. | |
| void | copy (const EulerJoint *_otherJoint) |
| Copy the Properties of another EulerJoint. | |
| EulerJoint & | operator= (const EulerJoint &_otherJoint) |
| Same as copy(const EulerJoint&) | |
| const std::string & | getType () const override |
| bool | isCyclic (std::size_t _index) const override |
| void | setAxisOrder (AxisOrder _order, bool _renameDofs=true) |
| Set the axis order. | |
| AxisOrder | getAxisOrder () const |
| Return the axis order. | |
| template<typename RotationType > | |
| Eigen::Vector3d | convertToPositions (const RotationType &_rotation) const |
| This is a version of EulerJoint::convertToPositions(const RotationType&,
AxisOrder) which will use the AxisOrder belonging to the joint instance that it gets called on. | |
| Eigen::Isometry3d | convertToTransform (const Eigen::Vector3d &_positions) const |
| This is a version of EulerJoint::convertToRotation(const Eigen::Vector3d&,
AxisOrder) which will use the AxisOrder belonging to the joint instance that it gets called on. | |
| Eigen::Matrix3d | convertToRotation (const Eigen::Vector3d &_positions) const |
| Eigen::Matrix< double, 6, 3 > | getRelativeJacobianStatic (const Eigen::Vector3d &_positions) const override |
| const AspectProperties & | getAspectProperties () const |
Static Public Member Functions | |
| static const std::string & | getStaticType () |
| Get joint type for this class. | |
| template<typename RotationType > | |
| static Eigen::Vector3d | convertToPositions (const RotationType &_rotation, AxisOrder _ordering) |
| Convert a rotation into a 3D vector that can be used to set the positions of an EulerJoint with the specified AxisOrder. | |
| static Eigen::Isometry3d | convertToTransform (const Eigen::Vector3d &_positions, AxisOrder _ordering) |
| Convert a set of Euler angle positions into a transform. | |
| static Eigen::Matrix3d | convertToRotation (const Eigen::Vector3d &_positions, AxisOrder _ordering) |
| Convert a set of Euler angle positions into a rotation matrix. | |
Protected Member Functions | |
| EulerJoint (const Properties &properties) | |
| Constructor called by Skeleton class. | |
| Joint * | clone () const override |
| void | updateDegreeOfFreedomNames () override |
| Set the names of this joint's DegreesOfFreedom. | |
| void | updateRelativeTransform () const override |
| void | updateRelativeJacobian (bool=true) const override |
| void | updateRelativeJacobianTimeDeriv () const override |
Protected Attributes | |
| AspectProperties | mAspectProperties |
| Aspect::Properties data, directly accessible to your derived class. | |
Friends | |
| class | Skeleton |
class EulerJoint
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
delete |
|
virtual |
Destructor.
|
protected |
Constructor called by Skeleton class.
|
overrideprotected |
|
inline |
This is a version of EulerJoint::convertToPositions(const RotationType&, AxisOrder) which will use the AxisOrder belonging to the joint instance that it gets called on.
|
inlinestatic |
Convert a rotation into a 3D vector that can be used to set the positions of an EulerJoint with the specified AxisOrder.
The positions returned by this function will result in a relative transform of getTransformFromParentBodyNode() * _rotation * getTransformFromChildBodyNode().inverse() between the parent BodyNode and the child BodyNode frames when applied to an EulerJoint with the correct axis ordering.
| Eigen::Matrix3d dart::dynamics::EulerJoint::convertToRotation | ( | const Eigen::Vector3d & | _positions | ) | const |
|
static |
Convert a set of Euler angle positions into a rotation matrix.
| Eigen::Isometry3d dart::dynamics::EulerJoint::convertToTransform | ( | const Eigen::Vector3d & | _positions | ) | const |
This is a version of EulerJoint::convertToRotation(const Eigen::Vector3d&, AxisOrder) which will use the AxisOrder belonging to the joint instance that it gets called on.
|
static |
Convert a set of Euler angle positions into a transform.
| void dart::dynamics::EulerJoint::copy | ( | const EulerJoint & | _otherJoint | ) |
Copy the Properties of another EulerJoint.
| void dart::dynamics::EulerJoint::copy | ( | const EulerJoint * | _otherJoint | ) |
Copy the Properties of another EulerJoint.
|
inline |
Construct a(an) EulerJointAspect inside of this Composite.
|
inlineinherited |
| EulerJoint::AxisOrder dart::dynamics::EulerJoint::getAxisOrder | ( | ) | const |
Return the axis order.
|
inline |
Get a(an) EulerJointAspect from this Composite.
|
inline |
Get a(an) EulerJointAspect from this Composite.
|
inline |
Get a(an) EulerJointAspect from this Composite.
If _createIfNull is true, then a(an) EulerJointAspect will be generated if one does not already exist.
| EulerJoint::Properties dart::dynamics::EulerJoint::getEulerJointProperties | ( | ) | const |
Get the Properties of this EulerJoint.
|
override |
|
static |
Get joint type for this class.
|
override |
|
inline |
Check if this Composite currently has EulerJointAspect .
|
override |
| EulerJoint & dart::dynamics::EulerJoint::operator= | ( | const EulerJoint & | _otherJoint | ) |
Same as copy(const EulerJoint&)
|
inline |
Remove a(an) EulerJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted.
This allows you to safely use move semantics to transfer a(an) EulerJointAspect between two Composites.
|
inline |
Remove a(an) EulerJointAspect from this Composite.
| void dart::dynamics::EulerJoint::setAspectProperties | ( | const AspectProperties & | properties | ) |
Set the AspectProperties of this EulerJoint.
| void dart::dynamics::EulerJoint::setAxisOrder | ( | EulerJoint::AxisOrder | _order, |
| bool | _renameDofs = true |
||
| ) |
Set the axis order.
| [in] | _order | Axis order |
| [in] | _renameDofs | If true, the names of dofs in this joint will be renmaed according to the axis order. |
|
inline |
Make a clone of EulerJointAspect and place the clone into this Composite.
If a(an) EulerJointAspect already exists in this Composite, the existing EulerJointAspect will be destroyed.
|
inline |
Use move semantics to place EulerJointAspect into this Composite.
If a(an) EulerJointAspect already exists in this Composite, the existing EulerJointAspect will be destroyed.
| void dart::dynamics::EulerJoint::setProperties | ( | const Properties & | _properties | ) |
Set the Properties of this EulerJoint.
| void dart::dynamics::EulerJoint::setProperties | ( | const UniqueProperties & | _properties | ) |
Set the Properties of this EulerJoint.
|
overrideprotected |
Set the names of this joint's DegreesOfFreedom.
Used during construction and when axis order is changed.
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
friend |
|
protectedinherited |
Aspect::Properties data, directly accessible to your derived class.