33 #ifndef DART_DYNAMICS_BALLJOINT_HPP_
34 #define DART_DYNAMICS_BALLJOINT_HPP_
36 #include <Eigen/Dense>
64 const std::string&
getType()
const override;
70 bool isCyclic(std::size_t _index)
const override;
81 template <
typename RotationType>
89 const Eigen::Vector3d& _positions);
96 const Eigen::Vector3d& _positions)
const override;
100 const Eigen::Vector3d& _q2,
const Eigen::Vector3d& _q1)
const override;
128 const Eigen::Isometry3d&
getR()
const;
133 mutable Eigen::Isometry3d
mR;
137 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
#define DART_DEFINE_ALIGNED_SHARED_OBJECT_CREATOR(class_name)
Definition: Memory.hpp:155
BodyPropPtr properties
Definition: SdfParser.cpp:80
Terminator for the variadic template.
Definition: CompositeJoiner.hpp:45
class BallJoint
Definition: BallJoint.hpp:45
static const std::string & getStaticType()
Get joint type for this class.
Definition: BallJoint.cpp:64
static Eigen::Isometry3d convertToTransform(const Eigen::Vector3d &_positions)
Convert a BallJoint-style position vector into a transform.
Definition: BallJoint.cpp:84
static Eigen::Matrix3d convertToRotation(const Eigen::Vector3d &_positions)
Convert a BallJoint-style position vector into a rotation matrix.
Definition: BallJoint.cpp:91
bool isCyclic(std::size_t _index) const override
Definition: BallJoint.cpp:71
Properties getBallJointProperties() const
Get the Properties of this BallJoint.
Definition: BallJoint.cpp:78
void updateRelativeJacobian(bool _mandatory=true) const override
Definition: BallJoint.cpp:163
const Eigen::Isometry3d & getR() const
Access mR, which is an auto-updating variable.
Definition: BallJoint.cpp:179
void updateDegreeOfFreedomNames() override
Definition: BallJoint.cpp:141
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
Eigen::Isometry3d mR
Rotation matrix dependent on the generalized coordinates.
Definition: BallJoint.hpp:133
const std::string & getType() const override
Definition: BallJoint.cpp:58
void integratePositions(double _dt) override
Definition: BallJoint.cpp:132
void updateRelativeTransform() const override
Definition: BallJoint.cpp:152
void updateRelativeJacobianTimeDeriv() const override
Definition: BallJoint.cpp:173
virtual ~BallJoint()
Destructor.
Definition: BallJoint.cpp:52
Eigen::Vector3d getPositionDifferencesStatic(const Eigen::Vector3d &_q2, const Eigen::Vector3d &_q1) const override
Definition: BallJoint.cpp:122
BallJoint(const Properties &properties)
Constructor called by Skeleton class.
Definition: BallJoint.cpp:97
Joint * clone() const override
Definition: BallJoint.cpp:109
Definition: GenericJoint.hpp:48
const GenericJoint< math::SO3Space >::JacobianMatrix & getRelativeJacobianStatic() const
Fixed-size version of getRelativeJacobian()
Definition: GenericJoint.hpp:1570
detail::GenericJointProperties< math::SO3Space > Properties
Definition: GenericJoint.hpp:62
class Joint
Definition: Joint.hpp:60
class Skeleton
Definition: Skeleton.hpp:59
Eigen::Vector3d logMap(const Eigen::Matrix3d &_R)
Log mapping.
Definition: Geometry.cpp:565
Definition: BulletCollisionDetector.cpp:65
Definition: BallJoint.hpp:52
virtual ~Properties()=default
Properties(const Base::Properties &properties=Base::Properties())
Definition: BallJoint.cpp:45