33 #ifndef DART_CONSTRAINT_WELDJOINTCONSTRAINT_HPP_
34 #define DART_CONSTRAINT_WELDJOINTCONSTRAINT_HPP_
36 #include <Eigen/Dense>
42 namespace constraint {
120 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
class JointConstraint
Definition: JointConstraint.hpp:48
WeldJointConstraint represents weld joint constraint between a body and the world or between two bodi...
Definition: WeldJointConstraint.hpp:47
void update() override
Update constraint using updated Skeleton's states.
Definition: WeldJointConstraint.cpp:103
dynamics::SkeletonPtr getRootSkeleton() const override
Definition: WeldJointConstraint.cpp:349
void getVelocityChange(double *_vel, bool _withCfm) override
Get velocity change due to the uint impulse.
Definition: WeldJointConstraint.cpp:267
void applyUnitImpulse(std::size_t _index) override
Apply unit impulse to constraint space.
Definition: WeldJointConstraint.cpp:190
Eigen::Matrix6d mJacobian2
Definition: WeldJointConstraint.hpp:110
void unexcite() override
Unexcite the constraint.
Definition: WeldJointConstraint.cpp:312
void excite() override
Excite the constraint.
Definition: WeldJointConstraint.cpp:299
Eigen::Vector6d mViolation
Definition: WeldJointConstraint.hpp:104
void setRelativeTransform(const Eigen::Isometry3d &_tf)
Set the relative transform that this WeldJointConstraint will enforce.
Definition: WeldJointConstraint.cpp:85
void applyImpulse(double *_lambda) override
Apply computed constraint impulse to constrained skeletons.
Definition: WeldJointConstraint.cpp:325
std::size_t mAppliedImpulseIndex
Index of applied impulse.
Definition: WeldJointConstraint.hpp:116
void getInformation(ConstraintInfo *_lcp) override
Fill LCP variables.
Definition: WeldJointConstraint.cpp:136
virtual ~WeldJointConstraint()
Destructor.
Definition: WeldJointConstraint.cpp:97
Eigen::Isometry3d mRelativeTransform
Definition: WeldJointConstraint.hpp:101
void uniteSkeletons() override
Definition: WeldJointConstraint.cpp:374
WeldJointConstraint(dynamics::BodyNode *_body)
Constructor that takes one body.
Definition: WeldJointConstraint.cpp:44
const Eigen::Matrix6d mJacobian1
Definition: WeldJointConstraint.hpp:107
const Eigen::Isometry3d & getRelativeTransform() const
Get the relative transform that this WeldJointConstraint will enforce.
Definition: WeldJointConstraint.cpp:91
double mOldX[6]
Definition: WeldJointConstraint.hpp:113
bool isActive() const override
Return true if this constraint is active.
Definition: WeldJointConstraint.cpp:408
BodyNode class represents a single node of the skeleton.
Definition: BodyNode.hpp:78
Matrix< double, 6, 1 > Vector6d
Definition: MathTypes.hpp:49
Matrix< double, 6, 6 > Matrix6d
Definition: MathTypes.hpp:50
std::shared_ptr< Skeleton > SkeletonPtr
Definition: SmartPointer.hpp:60
Definition: BulletCollisionDetector.cpp:63
ConstraintInfo.
Definition: ConstraintBase.hpp:50