| 
    Simbody
    3.8
    
   | 
 
This is a Constraint that uses a Function to prescribe the behavior of a single generalized coordinate as a function of time. More...
 Inheritance diagram for SimTK::Constraint::PrescribedMotion:Public Member Functions | |
| PrescribedMotion (SimbodyMatterSubsystem &matter, const Function *function, MobilizedBodyIndex coordBody, MobilizerQIndex coordIndex) | |
| Create a PrescribedMotion constraint.  More... | |
| PrescribedMotion () | |
| Default constructor creates an empty handle.  More... | |
  Public Member Functions inherited from SimTK::Constraint::Custom | |
| Custom (Implementation *implementation) | |
| Create a Custom Constraint.  More... | |
| Custom () | |
| Default constructor creates an empty handle.  More... | |
| SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (Custom, CustomImpl, Constraint) | |
  Public Member Functions inherited from SimTK::Constraint | |
| 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 | 
| void | setIsConditional (bool isConditional) | 
| (Advanced) Mark this constraint as one that is only conditionally active.  More... | |
| bool | isConditional () const | 
| (Advanced) Get the value of the isConditional flag.  More... | |
  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... | |
Additional Inherited Members | |
  Public Types inherited from SimTK::Constraint | |
| typedef Rod | ConstantDistance | 
| Synonym for Rod constraint.  More... | |
| typedef Ball | CoincidentPoints | 
| Synonym for Ball constraint.  More... | |
| typedef Ball | Spherical | 
| Synonym for Ball constraint.  More... | |
| typedef Weld | CoincidentFrames | 
  Public Types inherited from SimTK::PIMPLHandle< Constraint, ConstraintImpl, true > | |
| typedef PIMPLHandle< Constraint, ConstraintImpl, PTR > | HandleBase | 
| typedef HandleBase | ParentHandle | 
  Protected Member Functions inherited from SimTK::Constraint::Custom | |
| const Implementation & | getImplementation () const | 
| Implementation & | updImplementation () | 
  Protected Member Functions inherited from SimTK::PIMPLHandle< Constraint, ConstraintImpl, true > | |
| PIMPLHandle () | |
| The default constructor makes this an empty handle.  More... | |
| PIMPLHandle (ConstraintImpl *p) | |
| This provides consruction of a handle referencing an existing implementation object.  More... | |
| PIMPLHandle (const PIMPLHandle &source) | |
| The copy constructor makes either a deep (value) or shallow (reference) copy of the supplied source PIMPL object, based on whether this is a "pointer
semantics" (PTR=true) or "object (value) semantics" (PTR=false, default) class.  More... | |
| ~PIMPLHandle () | |
| Note that the destructor is non-virtual.  More... | |
| PIMPLHandle & | operator= (const PIMPLHandle &source) | 
| Copy assignment makes the current handle either a deep (value) or shallow (reference) copy of the supplied source PIMPL object, based on whether this is a "pointer sematics" (PTR=true) or "object (value) semantics" (PTR=false, default) class.  More... | |
| void | setImpl (ConstraintImpl *p) | 
| Set the implementation for this empty handle.  More... | |
| bool | hasSameImplementation (const Constraint &other) const | 
| Determine whether the supplied handle is a reference to the same implementation object as is referenced by "this" PIMPLHandle.  More... | |
This is a Constraint that uses a Function to prescribe the behavior of a single generalized coordinate as a function of time.
You provide a Function which takes the current time as its argument and returns the required value of the generalized coordinate. It also must support derivatives up to second order.
| SimTK::Constraint::PrescribedMotion::PrescribedMotion | ( | SimbodyMatterSubsystem & | matter, | 
| const Function * | function, | ||
| MobilizedBodyIndex | coordBody, | ||
| MobilizerQIndex | coordIndex | ||
| ) | 
Create a PrescribedMotion constraint.
You specify a Function that takes time as its single argument, and returns the required value for the constrained coordinate.
| matter | The matter subsystem to which this constraint will be added.  | 
| function | The Function which specifies the value of the constrained coordinate. The constraint takes over ownership of this object, and automatically deletes it when the constraint is deleted.  | 
| coordBody | The MobilizedBody corresponding to the generalized coordinate which will be constrained.  | 
| coordIndex | The index of the generalized coordinate which will be constrained.  | 
Default constructor creates an empty handle.