|
| GeneralForceSubsystem () |
|
| GeneralForceSubsystem (MultibodySystem &) |
|
ForceIndex | adoptForce (Force &force) |
| Attach a new force to this subsystem. More...
|
|
int | getNumForces () const |
| Get the number of force elements which have been added to this Subsystem. More...
|
|
const Force & | getForce (ForceIndex index) const |
| Get a const reference to a force element by index. More...
|
|
Force & | updForce (ForceIndex index) |
| Get a writable reference to a force element by index. More...
|
|
bool | isForceDisabled (const State &state, ForceIndex index) const |
| Find out whether a particular force element contained in this subsystem is currently disabled in the given state. More...
|
|
void | setForceIsDisabled (State &state, ForceIndex index, bool shouldBeDisabled) const |
| Disable or enable a particular force element contained in this subsystem. More...
|
|
const MultibodySystem & | getMultibodySystem () const |
| Every Subsystem is owned by a System; a GeneralForceSubsystem expects to be owned by a MultibodySystem. More...
|
|
| ForceSubsystem () |
|
| SimTK_PIMPL_DOWNCAST (ForceSubsystem, Subsystem) |
|
Guts & | updRep () |
|
const Guts & | getRep () const |
|
| Subsystem () |
|
| Subsystem (const Subsystem &) |
|
Subsystem & | operator= (const Subsystem &) |
|
| ~Subsystem () |
|
const String & | getName () const |
|
const String & | getVersion () const |
|
QIndex | allocateQ (State &, const Vector &qInit) const |
|
UIndex | allocateU (State &, const Vector &uInit) const |
|
ZIndex | allocateZ (State &, const Vector &zInit) const |
|
DiscreteVariableIndex | allocateDiscreteVariable (State &, Stage invalidates, AbstractValue *v) const |
|
DiscreteVariableIndex | allocateAutoUpdateDiscreteVariable (State &, Stage invalidates, AbstractValue *v, Stage updateDependsOn) const |
|
CacheEntryIndex | allocateCacheEntry (const State &, Stage dependsOn, Stage computedBy, AbstractValue *v) const |
|
CacheEntryIndex | allocateCacheEntry (const State &state, Stage g, AbstractValue *v) const |
|
CacheEntryIndex | allocateLazyCacheEntry (const State &state, Stage earliest, AbstractValue *v) const |
|
QErrIndex | allocateQErr (const State &, int nqerr) const |
|
UErrIndex | allocateUErr (const State &, int nuerr) const |
|
UDotErrIndex | allocateUDotErr (const State &, int nudoterr) const |
|
EventTriggerByStageIndex | allocateEventTriggersByStage (const State &, Stage, int ntriggers) const |
|
const Vector & | getQ (const State &) const |
|
const Vector & | getU (const State &) const |
|
const Vector & | getZ (const State &) const |
|
const Vector & | getQDot (const State &) const |
|
const Vector & | getUDot (const State &) const |
|
const Vector & | getZDot (const State &) const |
|
const Vector & | getQDotDot (const State &) const |
|
const Vector & | getQErr (const State &) const |
|
const Vector & | getUErr (const State &) const |
|
const Vector & | getUDotErr (const State &) const |
|
const Vector & | getMultipliers (const State &) const |
|
const Vector & | getEventTriggersByStage (const State &, Stage) const |
|
Vector & | updQ (State &) const |
|
Vector & | updU (State &) const |
|
Vector & | updZ (State &) const |
|
void | setQ (State &s, const Vector &q) const |
|
void | setU (State &s, const Vector &u) const |
|
void | setZ (State &s, const Vector &z) const |
|
Vector & | updQDot (const State &) const |
|
Vector & | updUDot (const State &) const |
|
Vector & | updZDot (const State &) const |
|
Vector & | updQDotDot (const State &) const |
|
Vector & | updQErr (const State &) const |
|
Vector & | updUErr (const State &) const |
|
Vector & | updUDotErr (const State &) const |
|
Vector & | updMultipliers (const State &) const |
|
Vector & | updEventTriggersByStage (const State &, Stage) const |
|
Stage | getStage (const State &) const |
|
const AbstractValue & | getDiscreteVariable (const State &s, DiscreteVariableIndex dx) const |
|
Real | getDiscreteVarLastUpdateTime (const State &s, DiscreteVariableIndex dx) const |
|
CacheEntryIndex | getDiscreteVarUpdateIndex (const State &s, DiscreteVariableIndex dx) const |
|
const AbstractValue & | getDiscreteVarUpdateValue (const State &s, DiscreteVariableIndex dx) const |
|
AbstractValue & | updDiscreteVarUpdateValue (const State &s, DiscreteVariableIndex dx) const |
|
bool | isDiscreteVarUpdateValueRealized (const State &s, DiscreteVariableIndex dx) const |
|
void | markDiscreteVarUpdateValueRealized (const State &s, DiscreteVariableIndex dx) const |
|
AbstractValue & | updDiscreteVariable (State &, DiscreteVariableIndex) const |
|
const AbstractValue & | getCacheEntry (const State &, CacheEntryIndex) const |
|
AbstractValue & | updCacheEntry (const State &, CacheEntryIndex) const |
|
bool | isCacheValueRealized (const State &, CacheEntryIndex) const |
|
void | markCacheValueRealized (const State &, CacheEntryIndex) const |
|
void | markCacheValueNotRealized (const State &, CacheEntryIndex) const |
|
SystemQIndex | getQStart (const State &) const |
|
int | getNQ (const State &) const |
|
SystemUIndex | getUStart (const State &) const |
|
int | getNU (const State &) const |
|
SystemZIndex | getZStart (const State &) const |
|
int | getNZ (const State &) const |
|
SystemQErrIndex | getQErrStart (const State &) const |
|
int | getNQErr (const State &) const |
|
SystemUErrIndex | getUErrStart (const State &) const |
|
int | getNUErr (const State &) const |
|
SystemUDotErrIndex | getUDotErrStart (const State &) const |
|
int | getNUDotErr (const State &) const |
|
SystemMultiplierIndex | getMultipliersStart (const State &) const |
|
int | getNMultipliers (const State &) const |
|
SystemEventTriggerByStageIndex | getEventTriggerStartByStage (const State &, Stage) const |
|
int | getNEventTriggersByStage (const State &, Stage) const |
|
bool | isInSystem () const |
|
bool | isInSameSystem (const Subsystem &otherSubsystem) const |
|
const System & | getSystem () const |
|
System & | updSystem () |
|
SubsystemIndex | getMySubsystemIndex () const |
|
bool | isOwnerHandle () const |
|
bool | isEmptyHandle () const |
|
bool | isSameSubsystem (const Subsystem &otherSubsystem) const |
|
bool | subsystemTopologyHasBeenRealized () const |
|
void | invalidateSubsystemTopologyCache () const |
|
MeasureIndex | adoptMeasure (AbstractMeasure &) |
|
AbstractMeasure | getMeasure (MeasureIndex) const |
|
template<class T > |
Measure_< T > | getMeasure_ (MeasureIndex mx) const |
|
const Subsystem::Guts & | getSubsystemGuts () const |
|
Subsystem::Guts & | updSubsystemGuts () |
|
void | adoptSubsystemGuts (Subsystem::Guts *g) |
|
void | setSystem (System &, SubsystemIndex) |
|
| Subsystem (Subsystem::Guts *g) |
|
bool | hasGuts () const |
|
This is a concrete subsystem which can apply arbitrary forces to a MultibodySystem.
Each force element is represented by a Force object. For example, to add a spring between two bodies, you would write
Force::TwoPointLinearSpring(forces, body1, station1, body2, station2, k, x0);