33 #ifndef DART_DYNAMICS_BALLJOINT_HPP_ 34 #define DART_DYNAMICS_BALLJOINT_HPP_ 36 #include <Eigen/Dense> 38 #include "dart/dynamics/GenericJoint.hpp" 53 DART_DEFINE_ALIGNED_SHARED_OBJECT_CREATOR(
Properties)
55 Properties(
const Base::Properties& properties = Base::Properties());
64 const std::string& getType()
const override;
70 bool isCyclic(std::size_t _index)
const override;
81 template <
typename RotationType>
84 return math::logMap(_rotation);
89 const Eigen::Vector3d& _positions);
96 const Eigen::Vector3d& _positions)
const override;
99 Eigen::Vector3d getPositionDifferencesStatic(
100 const Eigen::Vector3d& _q2,
const Eigen::Vector3d& _q1)
const override;
107 Joint* clone()
const override;
112 void integratePositions(
double _dt)
override;
115 void updateDegreeOfFreedomNames()
override;
118 void updateRelativeTransform()
const override;
121 void updateRelativeJacobian(
bool _mandatory =
true)
const override;
124 void updateRelativeJacobianTimeDeriv()
const override;
128 const Eigen::Isometry3d&
getR()
const;
133 mutable Eigen::Isometry3d
mR;
137 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
143 #endif // DART_DYNAMICS_BALLJOINT_HPP_ static Eigen::Matrix3d convertToRotation(const Eigen::Vector3d &_positions)
Convert a BallJoint-style position vector into a rotation matrix.
Definition: BallJoint.cpp:91
class BallJoint
Definition: BallJoint.hpp:44
Definition: BallJoint.hpp:51
class Joint
Definition: Joint.hpp:57
const Eigen::Isometry3d & getR() const
Access mR, which is an auto-updating variable.
Definition: BallJoint.cpp:179
static const std::string & getStaticType()
Get joint type for this class.
Definition: BallJoint.cpp:64
Eigen::Isometry3d mR
Rotation matrix dependent on the generalized coordinates.
Definition: BallJoint.hpp:133
Definition: Aspect.cpp:40
static Eigen::Isometry3d convertToTransform(const Eigen::Vector3d &_positions)
Convert a BallJoint-style position vector into a transform.
Definition: BallJoint.cpp:84
const GenericJoint< math::SO3Space >::JacobianMatrix & getRelativeJacobianStatic() const
Fixed-size version of getRelativeJacobian()
Definition: GenericJoint.hpp:1570
BallJoint(const Properties &properties)
Constructor called by Skeleton class.
Definition: BallJoint.cpp:97
Definition: GenericJointAspect.hpp:45
virtual ~BallJoint()
Destructor.
Definition: BallJoint.cpp:52
static Eigen::Vector3d convertToPositions(const RotationType &_rotation)
Convert a rotation into a 3D vector that can be used to set the positions of a BallJoint.
Definition: BallJoint.hpp:82
class Skeleton
Definition: Skeleton.hpp:55
Properties getBallJointProperties() const
Get the Properties of this BallJoint.
Definition: BallJoint.cpp:78