|
| PointOnLine (MobilizedBody &lineBody_B, const UnitVec3 &defaultLineDirection_B, const Vec3 &defaultPointOnLine_B, MobilizedBody &followerBody_F, const Vec3 &defaultFollowerPoint_F) |
|
| PointOnLine () |
| Default constructor creates an empty handle. More...
|
|
PointOnLine & | setLineDisplayHalfLength (Real) |
|
PointOnLine & | setPointDisplayRadius (Real) |
|
Real | getLineDisplayHalfLength () const |
|
Real | getPointDisplayRadius () const |
|
PointOnLine & | setDefaultLineDirection (const UnitVec3 &) |
|
PointOnLine & | setDefaultPointOnLine (const Vec3 &) |
|
PointOnLine & | setDefaultFollowerPoint (const Vec3 &) |
|
MobilizedBodyIndex | getLineMobilizedBodyIndex () const |
|
MobilizedBodyIndex | getFollowerMobilizedBodyIndex () const |
|
const UnitVec3 & | getDefaultLineDirection () const |
|
const Vec3 & | getDefaultPointOnLine () const |
|
const Vec3 & | getDefaultFollowerPoint () const |
|
const UnitVec3 & | getLineDirection (const State &) const |
|
const Vec3 & | getPointOnLine (const State &) const |
|
const Vec3 & | getFollowerPoint (const State &) const |
|
Vec2 | getPositionErrors (const State &) const |
|
Vec2 | getVelocityErrors (const State &) const |
|
Vec2 | getAccelerationErrors (const State &) const |
|
Vec2 | getMultipliers (const State &) const |
|
const Vec2 & | getForceOnFollowerPoint (const State &) const |
|
| Constraint () |
| Default constructor creates an empty Constraint handle that can be used to reference any Constraint. More...
|
|
| Constraint (ConstraintImpl *r) |
| For internal use: construct a new Constraint handle referencing a particular implementation object. More...
|
|
void | disable (State &) const |
| Disable this Constraint, effectively removing it from the system. More...
|
|
void | enable (State &) const |
| Enable this Constraint, without necessarily satisfying it. More...
|
|
bool | isDisabled (const State &) const |
| Test whether this constraint is currently disabled in the supplied State. More...
|
|
bool | isDisabledByDefault () const |
| Test whether this Constraint is disabled by default in which case it must be explicitly enabled before it will take effect. More...
|
|
void | setDisabledByDefault (bool shouldBeDisabled) |
| Normally Constraints are enabled when defined and can be disabled later. More...
|
|
| operator ConstraintIndex () const |
| This is an implicit conversion from Constraint to ConstraintIndex when needed. More...
|
|
const SimbodyMatterSubsystem & | getMatterSubsystem () const |
| Get a const reference to the matter subsystem that contains this Constraint. More...
|
|
SimbodyMatterSubsystem & | updMatterSubsystem () |
| Assuming you have writable access to this Constraint, get a writable reference to the containing matter subsystem. More...
|
|
ConstraintIndex | getConstraintIndex () const |
| Get the ConstraintIndex that was assigned to this Constraint when it was added to the matter subsystem. More...
|
|
bool | isInSubsystem () const |
| Test whether this Constraint is contained within a matter subsystem. More...
|
|
bool | isInSameSubsystem (const MobilizedBody &mobod) const |
| Test whether the supplied MobilizedBody is in the same matter subsystem as this Constraint. More...
|
|
int | getNumConstrainedBodies () const |
| Return the number of unique bodies directly restricted by this constraint. More...
|
|
const MobilizedBody & | getMobilizedBodyFromConstrainedBody (ConstrainedBodyIndex consBodyIx) const |
| Return a const reference to the actual MobilizedBody corresponding to one of the Constrained Bodies included in the count returned by getNumConstrainedBodies(). More...
|
|
const MobilizedBody & | getAncestorMobilizedBody () const |
| Return a const reference to the actual MobilizedBody which is serving as the Ancestor body for the constrained bodies in this Constraint. More...
|
|
int | getNumConstrainedMobilizers () const |
| Return the number of unique mobilizers directly restricted by this Constraint. More...
|
|
const MobilizedBody & | getMobilizedBodyFromConstrainedMobilizer (ConstrainedMobilizerIndex consMobilizerIx) const |
| Return a const reference to the actual MobilizedBody corresponding to one of the Constrained Mobilizers included in the count returned by getNumConstrainedMobilizers(). More...
|
|
const SimbodyMatterSubtree & | getSubtree () const |
| Return a subtree object indicating which parts of the multibody tree are potentially affected by this Constraint. More...
|
|
int | getNumConstrainedQ (const State &, ConstrainedMobilizerIndex) const |
| Return the number of constrainable generalized coordinates q associated with a particular constrained mobilizer. More...
|
|
int | getNumConstrainedU (const State &, ConstrainedMobilizerIndex) const |
| Return the number of constrainable mobilities u associated with a particular constrained mobilizer. More...
|
|
ConstrainedUIndex | getConstrainedUIndex (const State &, ConstrainedMobilizerIndex, MobilizerUIndex which) const |
| Return the index into the constrained mobilities u array corresponding to a particular mobility of the indicated ConstrainedMobilizer. More...
|
|
ConstrainedQIndex | getConstrainedQIndex (const State &, ConstrainedMobilizerIndex, MobilizerQIndex which) const |
| Return the index into the constrained coordinates q array corresponding to a particular coordinate of the indicated ConstrainedMobilizer. More...
|
|
int | getNumConstrainedQ (const State &) const |
| Return the sum of the number of coordinates q associated with each of the constrained mobilizers. More...
|
|
int | getNumConstrainedU (const State &) const |
| Return the sum of the number of mobilities u associated with each of the constrained mobilizers. More...
|
|
QIndex | getQIndexOfConstrainedQ (const State &state, ConstrainedQIndex consQIndex) const |
| Map one of this Constraint's constrained q's to the corresponding index within the matter subsystem's whole q vector. More...
|
|
UIndex | getUIndexOfConstrainedU (const State &state, ConstrainedUIndex consUIndex) const |
| Map one of this Constraint's constrained U's (or mobilities) to the corresponding index within the matter subsystem's whole u vector. More...
|
|
void | getNumConstraintEquationsInUse (const State &state, int &mp, int &mv, int &ma) const |
| Find out how many holonomic (position), nonholonomic (velocity), and acceleration-only constraint equations are currently being generated by this Constraint. More...
|
|
void | getIndexOfMultipliersInUse (const State &state, MultiplierIndex &px0, MultiplierIndex &vx0, MultiplierIndex &ax0) const |
| Return the start of the blocks of multipliers (or acceleration errors) assigned to this Constraint. More...
|
|
void | setMyPartInConstraintSpaceVector (const State &state, const Vector &myPart, Vector &constraintSpace) const |
| Set the part of a complete constraint-space vector that belongs to this constraint. More...
|
|
void | getMyPartFromConstraintSpaceVector (const State &state, const Vector &constraintSpace, Vector &myPart) const |
| Get the part of a complete constraint-space vector that belongs to this constraint. More...
|
|
Vector | getPositionErrorsAsVector (const State &) const |
| Get a Vector containing the position errors. More...
|
|
Vector | calcPositionErrorFromQ (const State &, const Vector &q) const |
|
Matrix | calcPositionConstraintMatrixP (const State &) const |
|
Matrix | calcPositionConstraintMatrixPt (const State &) const |
|
Matrix | calcPositionConstraintMatrixPNInv (const State &) const |
|
void | calcConstraintForcesFromMultipliers (const State &, const Vector &lambda, Vector_< SpatialVec > &bodyForcesInA, Vector &mobilityForces) const |
| This operator calculates this constraint's body and mobility forces given the complete set of multipliers lambda for this Constraint. More...
|
|
Vector | getVelocityErrorsAsVector (const State &) const |
| Get a Vector containing the velocity errors. More...
|
|
Vector | calcVelocityErrorFromU (const State &, const Vector &u) const |
|
Matrix | calcVelocityConstraintMatrixV (const State &) const |
|
Matrix | calcVelocityConstraintMatrixVt (const State &) const |
|
Vector | getAccelerationErrorsAsVector (const State &) const |
| Get a Vector containing the acceleration errors. More...
|
|
Vector | calcAccelerationErrorFromUDot (const State &, const Vector &udot) const |
|
Vector | getMultipliersAsVector (const State &) const |
| Get a Vector containing the Lagrange multipliers. More...
|
|
void | getConstraintForcesAsVectors (const State &state, Vector_< SpatialVec > &bodyForcesInG, Vector &mobilityForces) const |
| Given a State realized through Acceleration stage, return the forces that were applied to the system by this Constraint, with body forces expressed in Ground. More...
|
|
Vector_< SpatialVec > | getConstrainedBodyForcesAsVector (const State &state) const |
| For convenience, returns constrained body forces as the function return. More...
|
|
Vector | getConstrainedMobilityForcesAsVector (const State &state) const |
| For convenience, returns constrained mobility forces as the function return. More...
|
|
Real | calcPower (const State &state) const |
| Calculate the power being applied by this Constraint to the system. More...
|
|
Matrix | calcAccelerationConstraintMatrixA (const State &) const |
|
Matrix | calcAccelerationConstraintMatrixAt (const State &) const |
|
Public Member Functions inherited from SimTK::PIMPLHandle< Constraint, ConstraintImpl, true > |
bool | isEmptyHandle () const |
| Returns true if this handle is empty, that is, does not refer to any implementation object. More...
|
|
bool | isOwnerHandle () const |
| Returns true if this handle is the owner of the implementation object to which it refers. More...
|
|
bool | isSameHandle (const Constraint &other) const |
| Determine whether the supplied handle is the same object as "this" PIMPLHandle. More...
|
|
void | disown (Constraint &newOwner) |
| Give up ownership of the implementation to an empty handle. More...
|
|
PIMPLHandle & | referenceAssign (const Constraint &source) |
| "Copy" assignment but with shallow (pointer) semantics. More...
|
|
PIMPLHandle & | copyAssign (const Constraint &source) |
| This is real copy assignment, with ordinary C++ object ("value") semantics. More...
|
|
void | clearHandle () |
| Make this an empty handle, deleting the implementation object if this handle is the owner of it. More...
|
|
const ConstraintImpl & | getImpl () const |
| Get a const reference to the implementation associated with this Handle. More...
|
|
ConstraintImpl & | updImpl () |
| Get a writable reference to the implementation associated with this Handle. More...
|
|
int | getImplHandleCount () const |
| Return the number of handles the implementation believes are referencing it. More...
|
|
Two constraint equations.
This constraint enforces that a point fixed to one body (the "follower body") must travel along a line fixed on another body (the "line body"). The constraint is enforced by an internal (non-working) scalar force acting at the spatial location of the follower point, directed in the plane for which the line is a normal, and equal and opposite on the two bodies.
The assembly condition is the same as the run-time constraint: the point has to be moved onto the line.