33 #ifndef DART_CONSTRAINT_WELDJOINTCONSTRAINT_HPP_
34 #define DART_CONSTRAINT_WELDJOINTCONSTRAINT_HPP_
36 #include <Eigen/Dense>
42 namespace constraint {
65 const std::string&
getType()
const override;
126 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:116
dynamics::SkeletonPtr getRootSkeleton() const override
Definition: WeldJointConstraint.cpp:356
void getVelocityChange(double *_vel, bool _withCfm) override
Get velocity change due to the uint impulse.
Definition: WeldJointConstraint.cpp:281
void applyUnitImpulse(std::size_t _index) override
Apply unit impulse to constraint space.
Definition: WeldJointConstraint.cpp:202
static const std::string & getStaticType()
Returns constraint type for this class.
Definition: WeldJointConstraint.cpp:109
Eigen::Matrix6d mJacobian2
Definition: WeldJointConstraint.hpp:116
const std::string & getType() const override
Returns a string representing the constraint type.
Definition: WeldJointConstraint.cpp:103
void unexcite() override
Unexcite the constraint.
Definition: WeldJointConstraint.cpp:324
void excite() override
Excite the constraint.
Definition: WeldJointConstraint.cpp:311
Eigen::Vector6d mViolation
Definition: WeldJointConstraint.hpp:110
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:337
std::size_t mAppliedImpulseIndex
Index of applied impulse.
Definition: WeldJointConstraint.hpp:122
void getInformation(ConstraintInfo *_lcp) override
Fill LCP variables.
Definition: WeldJointConstraint.cpp:148
virtual ~WeldJointConstraint()
Destructor.
Definition: WeldJointConstraint.cpp:97
Eigen::Isometry3d mRelativeTransform
Definition: WeldJointConstraint.hpp:107
void uniteSkeletons() override
Definition: WeldJointConstraint.cpp:381
WeldJointConstraint(dynamics::BodyNode *_body)
Constructor that takes one body.
Definition: WeldJointConstraint.cpp:44
const Eigen::Matrix6d mJacobian1
Definition: WeldJointConstraint.hpp:113
const Eigen::Isometry3d & getRelativeTransform() const
Get the relative transform that this WeldJointConstraint will enforce.
Definition: WeldJointConstraint.cpp:91
double mOldX[6]
Definition: WeldJointConstraint.hpp:119
bool isActive() const override
Return true if this constraint is active.
Definition: WeldJointConstraint.cpp:415
BodyNode class represents a single node of the skeleton.
Definition: BodyNode.hpp:79
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:65
ConstraintInfo.
Definition: ConstraintBase.hpp:50