DART
6.10.1
|
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 . More... | |
Aspect * | getEulerJointAspect () |
Get a(an) EulerJointAspect from this Composite. More... | |
const Aspect * | getEulerJointAspect () const |
Get a(an) EulerJointAspect from this Composite. More... | |
Aspect * | getEulerJointAspect (const bool createIfNull) |
Get a(an) EulerJointAspect from this Composite. More... | |
void | setEulerJointAspect (const Aspect *aspect) |
Make a clone of EulerJointAspect and place the clone into this Composite. More... | |
void | setEulerJointAspect (std::unique_ptr< Aspect > &&aspect) |
Use move semantics to place EulerJointAspect into this Composite. More... | |
template<typename... Args> | |
Aspect * | createEulerJointAspect (Args &&... args) |
Construct a(an) EulerJointAspect inside of this Composite. More... | |
void | removeEulerJointAspect () |
Remove a(an) EulerJointAspect from this Composite. More... | |
std::unique_ptr< Aspect > | releaseEulerJointAspect () |
Remove a(an) EulerJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted. More... | |
EulerJoint (const EulerJoint &)=delete | |
virtual | ~EulerJoint () |
Destructor. More... | |
void | setProperties (const Properties &_properties) |
Set the Properties of this EulerJoint. More... | |
void | setProperties (const UniqueProperties &_properties) |
Set the Properties of this EulerJoint. More... | |
void | setAspectProperties (const AspectProperties &properties) |
Set the AspectProperties of this EulerJoint. More... | |
Properties | getEulerJointProperties () const |
Get the Properties of this EulerJoint. More... | |
void | copy (const EulerJoint &_otherJoint) |
Copy the Properties of another EulerJoint. More... | |
void | copy (const EulerJoint *_otherJoint) |
Copy the Properties of another EulerJoint. More... | |
EulerJoint & | operator= (const EulerJoint &_otherJoint) |
Same as copy(const EulerJoint&) More... | |
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. More... | |
AxisOrder | getAxisOrder () const |
Return the axis order. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
static Eigen::Isometry3d | convertToTransform (const Eigen::Vector3d &_positions, AxisOrder _ordering) |
Convert a set of Euler angle positions into a transform. More... | |
static Eigen::Matrix3d | convertToRotation (const Eigen::Vector3d &_positions, AxisOrder _ordering) |
Convert a set of Euler angle positions into a rotation matrix. More... | |
Protected Member Functions | |
EulerJoint (const Properties &properties) | |
Constructor called by Skeleton class. More... | |
Joint * | clone () const override |
void | updateDegreeOfFreedomNames () override |
Set the names of this joint's DegreesOfFreedom. More... | |
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. More... | |
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.