#include <Constraint.h>
This constraint enforces that a vector fixed to one body (the "base body") must maintain a fixed angle with respect to a vector fixed on the other body (the "follower body"). That is, we have a single constraint equation that prohibits rotation about the mutual perpendicular to the two vectors.
This constraint is enforced by an internal scalar torque applied equal and opposite on each body, about the mutual perpendicular to the two vectors.
The assembly condition is the same as the run-time constraint: the bodies must be rotated until the vectors have the right angle between them.
ConstantAngle | ( | MobilizedBody & | baseBody_B, | |
const UnitVec3 & | defaultAxis_B, | |||
MobilizedBody & | followerBody_F, | |||
const UnitVec3 & | defaultAxis_F, | |||
Real | angle = Pi/2 | |||
) |
ConstantAngle& setAxisDisplayLength | ( | Real | ) |
ConstantAngle& setAxisDisplayWidth | ( | Real | ) |
Real getAxisDisplayLength | ( | ) | const |
Real getAxisDisplayWidth | ( | ) | const |
ConstantAngle& setDefaultBaseAxis | ( | const UnitVec3 & | ) |
ConstantAngle& setDefaultFollowerAxis | ( | const UnitVec3 & | ) |
ConstantAngle& setDefaultAngle | ( | Real | ) |
MobilizedBodyIndex getBaseMobilizedBodyIndex | ( | ) | const |
MobilizedBodyIndex getFollowerMobilizedBodyIndex | ( | ) | const |
const UnitVec3& getDefaultBaseAxis | ( | ) | const |
const UnitVec3& getDefaultFollowerAxis | ( | ) | const |
Real getDefaultAngle | ( | ) | const |
Real getAngle | ( | const State & | ) | const |
Real getPositionError | ( | const State & | ) | const |
Real getVelocityError | ( | const State & | ) | const |
Real getAccelerationError | ( | const State & | ) | const |
Real getMultiplier | ( | const State & | ) | const |
Real getTorqueOnFollowerBody | ( | const State & | ) | const |
SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS | ( | ConstantAngle | , | |
ConstantAngleImpl | , | |||
Constraint | ||||
) |