Simbody  3.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SimTK::DefaultSystemSubsystem Class Reference

This is a concrete Subsystem that is part of every System. It provides a variety of services for the System, such as maintaining lists of event handlers and reporters, and acting as a source of globally unique event IDs. More...

#include <System.h>

+ Inheritance diagram for SimTK::DefaultSystemSubsystem:

Public Member Functions

 DefaultSystemSubsystem (System &sys)
 
void addEventHandler (ScheduledEventHandler *handler)
 
void addEventHandler (TriggeredEventHandler *handler)
 
void addEventReporter (ScheduledEventReporter *handler) const
 
void addEventReporter (TriggeredEventReporter *handler) const
 
EventId createEventId (SubsystemIndex subsys, const State &state) const
 
void findSubsystemEventIds (SubsystemIndex subsys, const State &state, const Array_< EventId > &allEvents, Array_< EventId > &eventsForSubsystem) const
 
- Public Member Functions inherited from SimTK::Subsystem
 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
 

Detailed Description

This is a concrete Subsystem that is part of every System. It provides a variety of services for the System, such as maintaining lists of event handlers and reporters, and acting as a source of globally unique event IDs.

To obtain the default subsystem for a System, call getDefaultSubsystem() or updDefaultSubsystem() on it. Also, a System can be implicitly converted to a Subsystem, in which case it actually returns a reference to this Subsystem.

Constructor & Destructor Documentation

SimTK::DefaultSystemSubsystem::DefaultSystemSubsystem ( System &  sys)
explicit

Member Function Documentation

void SimTK::DefaultSystemSubsystem::addEventHandler ( ScheduledEventHandler *  handler)
void SimTK::DefaultSystemSubsystem::addEventHandler ( TriggeredEventHandler *  handler)
void SimTK::DefaultSystemSubsystem::addEventReporter ( ScheduledEventReporter *  handler) const
void SimTK::DefaultSystemSubsystem::addEventReporter ( TriggeredEventReporter *  handler) const
EventId SimTK::DefaultSystemSubsystem::createEventId ( SubsystemIndex  subsys,
const State &  state 
) const
void SimTK::DefaultSystemSubsystem::findSubsystemEventIds ( SubsystemIndex  subsys,
const State &  state,
const Array_< EventId > &  allEvents,
Array_< EventId > &  eventsForSubsystem 
) const

The documentation for this class was generated from the following file: