DART
6.10.1
|
PlanarJoint represents a 3-dof joint, which has two orthogonal translational axes and one rotational axis. More...
#include <PlanarJoint.hpp>
Public Types | |
using | PlaneType = detail::PlaneType |
using | UniqueProperties = detail::PlanarJointUniqueProperties |
using | Properties = detail::PlanarJointProperties |
using | Base = GenericJoint< math::R3Space > |
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 | hasPlanarJointAspect () const |
Check if this Composite currently has PlanarJointAspect . More... | |
Aspect * | getPlanarJointAspect () |
Get a(an) PlanarJointAspect from this Composite. More... | |
const Aspect * | getPlanarJointAspect () const |
Get a(an) PlanarJointAspect from this Composite. More... | |
Aspect * | getPlanarJointAspect (const bool createIfNull) |
Get a(an) PlanarJointAspect from this Composite. More... | |
void | setPlanarJointAspect (const Aspect *aspect) |
Make a clone of PlanarJointAspect and place the clone into this Composite. More... | |
void | setPlanarJointAspect (std::unique_ptr< Aspect > &&aspect) |
Use move semantics to place PlanarJointAspect into this Composite. More... | |
template<typename... Args> | |
Aspect * | createPlanarJointAspect (Args &&... args) |
Construct a(an) PlanarJointAspect inside of this Composite. More... | |
void | removePlanarJointAspect () |
Remove a(an) PlanarJointAspect from this Composite. More... | |
std::unique_ptr< Aspect > | releasePlanarJointAspect () |
Remove a(an) PlanarJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted. More... | |
PlanarJoint (const PlanarJoint &)=delete | |
virtual | ~PlanarJoint () |
Destructor. More... | |
void | setProperties (const Properties &_properties) |
Set the Properties of this PlanarJoint. More... | |
void | setProperties (const UniqueProperties &_properties) |
Set the Properties of this PlanarJoint. More... | |
void | setAspectProperties (const AspectProperties &properties) |
Set the AspectProperties of this PlanarJoint. More... | |
Properties | getPlanarJointProperties () const |
Get the Properties of this PlanarJoint. More... | |
void | copy (const PlanarJoint &_otherJoint) |
Copy the Properties of another PlanarJoint. More... | |
void | copy (const PlanarJoint *_otherJoint) |
Copy the Properties of another PlanarJoint. More... | |
PlanarJoint & | operator= (const PlanarJoint &_otherJoint) |
Same as copy(const PlanarJoint&) More... | |
const std::string & | getType () const override |
bool | isCyclic (std::size_t _index) const override |
void | setXYPlane (bool _renameDofs=true) |
Set plane type as XY-plane. More... | |
void | setYZPlane (bool _renameDofs=true) |
Set plane type as YZ-plane. More... | |
void | setZXPlane (bool _renameDofs=true) |
Set plane type as ZX-plane. More... | |
void | setArbitraryPlane (const Eigen::Vector3d &_transAxis1, const Eigen::Vector3d &_transAxis2, bool _renameDofs=true) |
Set plane type as arbitrary plane with two orthogonal translational axes. More... | |
PlaneType | getPlaneType () const |
Return plane type. More... | |
const Eigen::Vector3d & | getRotationalAxis () const |
Return rotational axis. More... | |
const Eigen::Vector3d & | getTranslationalAxis1 () const |
Return first translational axis. More... | |
const Eigen::Vector3d & | getTranslationalAxis2 () const |
Return second translational axis. More... | |
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... | |
Protected Member Functions | |
PlanarJoint (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 |
PlanarJoint represents a 3-dof joint, which has two orthogonal translational axes and one rotational axis.
First and second coordiantes represent translation along first and second translational axes, respectively. Third coordinate represents rotation along rotational axis.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
delete |
|
virtual |
Destructor.
|
protected |
Constructor called by Skeleton class.
|
overrideprotected |
void dart::dynamics::PlanarJoint::copy | ( | const PlanarJoint & | _otherJoint | ) |
Copy the Properties of another PlanarJoint.
void dart::dynamics::PlanarJoint::copy | ( | const PlanarJoint * | _otherJoint | ) |
Copy the Properties of another PlanarJoint.
|
inline |
Construct a(an) PlanarJointAspect inside of this Composite.
|
inlineinherited |
|
inline |
Get a(an) PlanarJointAspect from this Composite.
|
inline |
Get a(an) PlanarJointAspect from this Composite.
|
inline |
Get a(an) PlanarJointAspect from this Composite.
If _createIfNull is true, then a(an) PlanarJointAspect will be generated if one does not already exist.
PlanarJoint::Properties dart::dynamics::PlanarJoint::getPlanarJointProperties | ( | ) | const |
Get the Properties of this PlanarJoint.
PlanarJoint::PlaneType dart::dynamics::PlanarJoint::getPlaneType | ( | ) | const |
Return plane type.
|
override |
const Eigen::Vector3d & dart::dynamics::PlanarJoint::getRotationalAxis | ( | ) | const |
Return rotational axis.
|
static |
Get joint type for this class.
const Eigen::Vector3d & dart::dynamics::PlanarJoint::getTranslationalAxis1 | ( | ) | const |
Return first translational axis.
const Eigen::Vector3d & dart::dynamics::PlanarJoint::getTranslationalAxis2 | ( | ) | const |
Return second translational axis.
|
override |
|
inline |
Check if this Composite currently has PlanarJointAspect .
|
override |
PlanarJoint & dart::dynamics::PlanarJoint::operator= | ( | const PlanarJoint & | _otherJoint | ) |
Same as copy(const PlanarJoint&)
|
inline |
Remove a(an) PlanarJointAspect 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) PlanarJointAspect between two Composites.
|
inline |
Remove a(an) PlanarJointAspect from this Composite.
void dart::dynamics::PlanarJoint::setArbitraryPlane | ( | const Eigen::Vector3d & | _transAxis1, |
const Eigen::Vector3d & | _transAxis2, | ||
bool | _renameDofs = true |
||
) |
Set plane type as arbitrary plane with two orthogonal translational axes.
[in] | _transAxis1 | An orthogonal translational axis |
[in] | _transAxis2 | Another orthogonal translation axis |
[in] | _renameDofs | If true, the names of dofs in this joint will be renmaed according to the plane type. |
void dart::dynamics::PlanarJoint::setAspectProperties | ( | const AspectProperties & | properties | ) |
Set the AspectProperties of this PlanarJoint.
|
inline |
Make a clone of PlanarJointAspect and place the clone into this Composite.
If a(an) PlanarJointAspect already exists in this Composite, the existing PlanarJointAspect will be destroyed.
|
inline |
Use move semantics to place PlanarJointAspect into this Composite.
If a(an) PlanarJointAspect already exists in this Composite, the existing PlanarJointAspect will be destroyed.
void dart::dynamics::PlanarJoint::setProperties | ( | const Properties & | _properties | ) |
Set the Properties of this PlanarJoint.
void dart::dynamics::PlanarJoint::setProperties | ( | const UniqueProperties & | _properties | ) |
Set the Properties of this PlanarJoint.
void dart::dynamics::PlanarJoint::setXYPlane | ( | bool | _renameDofs = true | ) |
Set plane type as XY-plane.
[in] | _renameDofs | If true, the names of dofs in this joint will be renmaed according to the plane type. |
void dart::dynamics::PlanarJoint::setYZPlane | ( | bool | _renameDofs = true | ) |
Set plane type as YZ-plane.
[in] | _renameDofs | If true, the names of dofs in this joint will be renmaed according to the plane type. |
void dart::dynamics::PlanarJoint::setZXPlane | ( | bool | _renameDofs = true | ) |
Set plane type as ZX-plane.
[in] | _renameDofs | If true, the names of dofs in this joint will be renmaed according to the plane type. |
|
overrideprotected |
Set the names of this joint's DegreesOfFreedom.
Used during construction and when the Plane type is changed.
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
friend |
|
protectedinherited |
Aspect::Properties data, directly accessible to your derived class.