The abstract parent of all Subsystems. More...
#include <Subsystem.h>
Classes | |
class | Guts |
The abstract parent of all Subsystem "Guts" implementation classes. More... | |
Public Member Functions | |
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, AbstractValue *v) const |
CacheEntryIndex | allocateCacheEntry (const State &, Stage dependsOn, Stage computedBy, AbstractValue *v) const |
CacheEntryIndex | allocateCacheEntry (const State &state, Stage g, 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 &, DiscreteVariableIndex) const |
AbstractValue & | updDiscreteVariable (State &, DiscreteVariableIndex) const |
const AbstractValue & | getCacheEntry (const State &, CacheEntryIndex) const |
AbstractValue & | updCacheEntry (const State &, CacheEntryIndex) const |
bool | isCacheValueCurrent (const State &, CacheEntryIndex) const |
void | markCacheValueRealized (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 (Measure &) |
Measure | 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 |
Friends | |
class | Guts |
The abstract parent of all Subsystems.
A Subsystem is expected to be part of a larger System and to have interdependencies with other subsystems of that same system. It must NOT have dependencies on objects which are outside the System. Consequently construction of any concrete subsystem requires specification of a system at that time. Subsystems go through an extended construction phase in which their contents and interdependencies are created. Thus all of a System's Subsystems generally need to be available simultaneously during construction, so that they can reference each other.
There are three distinct users of this class:
Subsystem | ( | ) | [inline] |
~Subsystem | ( | ) |
Subsystem | ( | Subsystem::Guts * | g | ) | [inline, explicit] |
MeasureIndex adoptMeasure | ( | Measure & | ) |
Referenced by Measure::Measure().
void adoptSubsystemGuts | ( | Subsystem::Guts * | g | ) |
CacheEntryIndex allocateCacheEntry | ( | const State & | state, | |
Stage | g, | |||
AbstractValue * | v | |||
) | const [inline] |
References Subsystem::allocateCacheEntry().
Referenced by Subsystem::allocateCacheEntry().
CacheEntryIndex allocateCacheEntry | ( | const State & | , | |
Stage | dependsOn, | |||
Stage | computedBy, | |||
AbstractValue * | v | |||
) | const |
Referenced by Implementation::realizeMeasureTopologyImpl().
DiscreteVariableIndex allocateDiscreteVariable | ( | State & | , | |
Stage | , | |||
AbstractValue * | v | |||
) | const |
EventTriggerByStageIndex allocateEventTriggersByStage | ( | const State & | , | |
Stage | , | |||
int | ntriggers | |||
) | const |
QErrIndex allocateQErr | ( | const State & | , | |
int | nqerr | |||
) | const |
UDotErrIndex allocateUDotErr | ( | const State & | , | |
int | nudoterr | |||
) | const |
UErrIndex allocateUErr | ( | const State & | , | |
int | nuerr | |||
) | const |
Referenced by Implementation::realizeMeasureTopologyImpl().
const AbstractValue& getCacheEntry | ( | const State & | , | |
CacheEntryIndex | ||||
) | const |
const AbstractValue& getDiscreteVariable | ( | const State & | , | |
DiscreteVariableIndex | ||||
) | const |
Measure getMeasure | ( | MeasureIndex | ) | const |
Measure_<T> getMeasure_ | ( | MeasureIndex | mx | ) | const [inline] |
SystemMultiplierIndex getMultipliersStart | ( | const State & | ) | const |
SubsystemIndex getMySubsystemIndex | ( | ) | const |
const String& getName | ( | ) | const |
int getNMultipliers | ( | const State & | ) | const |
int getNQ | ( | const State & | ) | const |
int getNQErr | ( | const State & | ) | const |
int getNU | ( | const State & | ) | const |
int getNUDotErr | ( | const State & | ) | const |
int getNUErr | ( | const State & | ) | const |
int getNZ | ( | const State & | ) | const |
SystemQErrIndex getQErrStart | ( | const State & | ) | const |
SystemQIndex getQStart | ( | const State & | ) | const |
const Subsystem::Guts& getSubsystemGuts | ( | ) | const [inline] |
const System& getSystem | ( | ) | const |
SystemUDotErrIndex getUDotErrStart | ( | const State & | ) | const |
SystemUErrIndex getUErrStart | ( | const State & | ) | const |
SystemUIndex getUStart | ( | const State & | ) | const |
const String& getVersion | ( | ) | const |
Referenced by Implementation::getValueImpl().
SystemZIndex getZStart | ( | const State & | ) | const |
bool hasGuts | ( | ) | const [inline] |
void invalidateSubsystemTopologyCache | ( | ) | const |
bool isCacheValueCurrent | ( | const State & | , | |
CacheEntryIndex | ||||
) | const |
bool isEmptyHandle | ( | ) | const |
bool isInSameSystem | ( | const Subsystem & | otherSubsystem | ) | const |
bool isInSystem | ( | ) | const |
bool isOwnerHandle | ( | ) | const |
bool isSameSubsystem | ( | const Subsystem & | otherSubsystem | ) | const |
void markCacheValueRealized | ( | const State & | , | |
CacheEntryIndex | ||||
) | const |
Reimplemented in SimbodyMatterSubsystem.
Referenced by SimbodyMatterSubsystem::operator=().
References VectorBase< ELT >::size().
void setSystem | ( | System & | , | |
SubsystemIndex | ||||
) |
References VectorBase< ELT >::size().
References VectorBase< ELT >::size().
bool subsystemTopologyHasBeenRealized | ( | ) | const |
AbstractValue& updCacheEntry | ( | const State & | , | |
CacheEntryIndex | ||||
) | const |
AbstractValue& updDiscreteVariable | ( | State & | , | |
DiscreteVariableIndex | ||||
) | const |
Subsystem::Guts& updSubsystemGuts | ( | ) | [inline] |
System& updSystem | ( | ) |
Referenced by Implementation::initializeImpl(), and Implementation::setValue().
Referenced by Implementation::realizeMeasureAccelerationImpl().
friend class Guts [friend] |