Simbody  3.4 (development)
SimTK::Subsystem::Guts Class Reference

The abstract parent of all Subsystem "Guts" implementation classes. More...

#include <SubsystemGuts.h>

+ Inheritance diagram for SimTK::Subsystem::Guts:

List of all members.

Public Member Functions

 Guts (const Guts &)
Guts & operator= (const Guts &)
 Guts (const String &name="<NONAME>", const String &version="0.0.0")
virtual ~Guts ()
const String & getName () const
const String & getVersion () const
QIndex allocateQ (State &s, const Vector &qInit) const
UIndex allocateU (State &s, const Vector &uInit) const
ZIndex allocateZ (State &s, const Vector &zInit) const
DiscreteVariableIndex allocateDiscreteVariable (State &s, Stage g, 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 &s, int nqerr) const
UErrIndex allocateUErr (const State &s, int nuerr) const
UDotErrIndex allocateUDotErr (const State &s, 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 & getUWeights (const State &) const
const Vector & getZWeights (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 & getQErrWeights (const State &) const
const Vector & getUErrWeights (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
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
MeasureIndex adoptMeasure (AbstractMeasure &m)
AbstractMeasure getMeasure (MeasureIndex) const
template<class T >
Measure_< T > getMeasure_ (MeasureIndex mx) const
bool isInSystem () const
bool isInSameSystem (const Subsystem &otherSubsystem) const
const System & getSystem () const
System & updSystem ()
SubsystemIndex getMySubsystemIndex () const
const Subsystem & getOwnerSubsystemHandle () const
Subsystem & updOwnerSubsystemHandle ()
void setOwnerSubsystemHandle (Subsystem &)
bool hasOwnerSubsystemHandle () const
void setSystem (System &, SubsystemIndex)
 Guts (GutsRep *r)
bool hasRep () const
const GutsRep & getRep () const
GutsRep & updRep () const
void setRep (GutsRep &r)
bool subsystemTopologyHasBeenRealized () const
void invalidateSubsystemTopologyCache () const
Subsystem::Guts * clone () const
void realizeSubsystemTopology (State &) const
void realizeSubsystemModel (State &) const
void realizeSubsystemInstance (const State &) const
void realizeSubsystemTime (const State &) const
void realizeSubsystemPosition (const State &) const
void realizeSubsystemVelocity (const State &) const
void realizeSubsystemDynamics (const State &) const
void realizeSubsystemAcceleration (const State &) const
void realizeSubsystemReport (const State &) const
void calcDecorativeGeometryAndAppend (const State &, Stage, Array_< DecorativeGeometry > &) const
void createScheduledEvent (const State &state, EventId &eventId) const
void createTriggeredEvent (const State &state, EventId &eventId, EventTriggerByStageIndex &triggerFunctionIndex, Stage stage) const
void calcEventTriggerInfo (const State &, Array_< EventTriggerInfo > &) const
void calcTimeOfNextScheduledEvent (const State &, Real &tNextEvent, Array_< EventId > &eventIds, bool includeCurrentTime) const
void calcTimeOfNextScheduledReport (const State &, Real &tNextEvent, Array_< EventId > &eventIds, bool includeCurrentTime) const
void handleEvents (State &, Event::Cause, const Array_< EventId > &eventIds, const HandleEventsOptions &options, HandleEventsResults &results) const
void reportEvents (const State &, Event::Cause, const Array_< EventId > &eventIds) const

Protected Member Functions

virtual Subsystem::Guts * cloneImpl () const =0
virtual int realizeSubsystemTopologyImpl (State &s) const
virtual int realizeSubsystemModelImpl (State &s) const
virtual int realizeSubsystemInstanceImpl (const State &s) const
virtual int realizeSubsystemTimeImpl (const State &s) const
virtual int realizeSubsystemPositionImpl (const State &s) const
virtual int realizeSubsystemVelocityImpl (const State &s) const
virtual int realizeSubsystemDynamicsImpl (const State &s) const
virtual int realizeSubsystemAccelerationImpl (const State &s) const
virtual int realizeSubsystemReportImpl (const State &s) const
virtual int calcDecorativeGeometryAndAppendImpl (const State &, Stage, Array_< DecorativeGeometry > &) const
virtual void calcEventTriggerInfoImpl (const State &, Array_< EventTriggerInfo > &) const
virtual void calcTimeOfNextScheduledEventImpl (const State &, Real &tNextEvent, Array_< EventId > &eventIds, bool includeCurrentTime) const
virtual void calcTimeOfNextScheduledReportImpl (const State &, Real &tNextEvent, Array_< EventId > &eventIds, bool includeCurrentTime) const
virtual void handleEventsImpl (State &, Event::Cause, const Array_< EventId > &eventIds, const HandleEventsOptions &options, HandleEventsResults &results) const
virtual void reportEventsImpl (const State &, Event::Cause, const Array_< EventId > &eventIds) const
void advanceToStage (const State &s, Stage g) const

Friends

class GutsRep

Detailed Description

The abstract parent of all Subsystem "Guts" implementation classes.


Constructor & Destructor Documentation

SimTK::Subsystem::Guts::Guts ( const String &  name = "<NONAME>",
const String &  version = "0.0.0" 
) [explicit]

Reimplemented in SimTK::ForceSubsystem::Guts.

virtual SimTK::Subsystem::Guts::~Guts ( ) [virtual]

Reimplemented in SimTK::ForceSubsystem::Guts.

SimTK::Subsystem::Guts::Guts ( GutsRep *  r) [inline, explicit]

Member Function Documentation

Guts& SimTK::Subsystem::Guts::operator= ( const Guts &  )
QIndex SimTK::Subsystem::Guts::allocateQ ( State &  s,
const Vector &  qInit 
) const
UIndex SimTK::Subsystem::Guts::allocateU ( State &  s,
const Vector &  uInit 
) const
ZIndex SimTK::Subsystem::Guts::allocateZ ( State &  s,
const Vector &  zInit 
) const
CacheEntryIndex SimTK::Subsystem::Guts::allocateCacheEntry ( const State &  ,
Stage  dependsOn,
Stage  computedBy,
AbstractValue *  v 
) const
CacheEntryIndex SimTK::Subsystem::Guts::allocateCacheEntry ( const State &  state,
Stage  g,
AbstractValue *  v 
) const [inline]
CacheEntryIndex SimTK::Subsystem::Guts::allocateLazyCacheEntry ( const State &  state,
Stage  earliest,
AbstractValue *  v 
) const [inline]
QErrIndex SimTK::Subsystem::Guts::allocateQErr ( const State &  s,
int  nqerr 
) const
UErrIndex SimTK::Subsystem::Guts::allocateUErr ( const State &  s,
int  nuerr 
) const
UDotErrIndex SimTK::Subsystem::Guts::allocateUDotErr ( const State &  s,
int  nudoterr 
) const
const Vector& SimTK::Subsystem::Guts::getQ ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getU ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getZ ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getUWeights ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getZWeights ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getQDot ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getUDot ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getZDot ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getQDotDot ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getQErr ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getUErr ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getUDotErr ( const State &  ) const
void SimTK::Subsystem::Guts::setQ ( State &  s,
const Vector &  q 
) const [inline]
void SimTK::Subsystem::Guts::setU ( State &  s,
const Vector &  u 
) const [inline]
void SimTK::Subsystem::Guts::setZ ( State &  s,
const Vector &  z 
) const [inline]
int SimTK::Subsystem::Guts::getNQ ( const State &  ) const
int SimTK::Subsystem::Guts::getNU ( const State &  ) const
int SimTK::Subsystem::Guts::getNZ ( const State &  ) const
int SimTK::Subsystem::Guts::getNQErr ( const State &  ) const
int SimTK::Subsystem::Guts::getNUErr ( const State &  ) const
int SimTK::Subsystem::Guts::getNUDotErr ( const State &  ) const
template<class T >
Measure_<T> SimTK::Subsystem::Guts::getMeasure_ ( MeasureIndex  mx) const [inline]
bool SimTK::Subsystem::Guts::isInSameSystem ( const Subsystem &  otherSubsystem) const
bool SimTK::Subsystem::Guts::hasRep ( ) const [inline]
const GutsRep& SimTK::Subsystem::Guts::getRep ( ) const [inline]
void SimTK::Subsystem::Guts::setRep ( GutsRep &  r) [inline]
void SimTK::Subsystem::Guts::createScheduledEvent ( const State &  state,
EventId &  eventId 
) const
void SimTK::Subsystem::Guts::createTriggeredEvent ( const State &  state,
EventId &  eventId,
EventTriggerByStageIndex &  triggerFunctionIndex,
Stage  stage 
) const
void SimTK::Subsystem::Guts::calcTimeOfNextScheduledEvent ( const State &  ,
Real &  tNextEvent,
Array_< EventId > &  eventIds,
bool  includeCurrentTime 
) const
void SimTK::Subsystem::Guts::calcTimeOfNextScheduledReport ( const State &  ,
Real &  tNextEvent,
Array_< EventId > &  eventIds,
bool  includeCurrentTime 
) const
void SimTK::Subsystem::Guts::handleEvents ( State &  ,
Event::Cause  ,
const Array_< EventId > &  eventIds,
const HandleEventsOptions &  options,
HandleEventsResults &  results 
) const
void SimTK::Subsystem::Guts::reportEvents ( const State &  ,
Event::Cause  ,
const Array_< EventId > &  eventIds 
) const
virtual Subsystem::Guts* SimTK::Subsystem::Guts::cloneImpl ( ) const [protected, pure virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemTopologyImpl ( State &  s) const [inline, protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemModelImpl ( State &  s) const [inline, protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemInstanceImpl ( const State &  s) const [inline, protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemTimeImpl ( const State &  s) const [inline, protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemPositionImpl ( const State &  s) const [inline, protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemVelocityImpl ( const State &  s) const [inline, protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemDynamicsImpl ( const State &  s) const [inline, protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemAccelerationImpl ( const State &  s) const [inline, protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemReportImpl ( const State &  s) const [inline, protected, virtual]
virtual int SimTK::Subsystem::Guts::calcDecorativeGeometryAndAppendImpl ( const State &  ,
Stage  ,
Array_< DecorativeGeometry > &   
) const [inline, protected, virtual]
virtual void SimTK::Subsystem::Guts::calcEventTriggerInfoImpl ( const State &  ,
Array_< EventTriggerInfo > &   
) const [inline, protected, virtual]
virtual void SimTK::Subsystem::Guts::calcTimeOfNextScheduledEventImpl ( const State &  ,
Real &  tNextEvent,
Array_< EventId > &  eventIds,
bool  includeCurrentTime 
) const [inline, protected, virtual]
virtual void SimTK::Subsystem::Guts::calcTimeOfNextScheduledReportImpl ( const State &  ,
Real &  tNextEvent,
Array_< EventId > &  eventIds,
bool  includeCurrentTime 
) const [inline, protected, virtual]
virtual void SimTK::Subsystem::Guts::handleEventsImpl ( State &  ,
Event::Cause  ,
const Array_< EventId > &  eventIds,
const HandleEventsOptions &  options,
HandleEventsResults &  results 
) const [inline, protected, virtual]
virtual void SimTK::Subsystem::Guts::reportEventsImpl ( const State &  ,
Event::Cause  ,
const Array_< EventId > &  eventIds 
) const [inline, protected, virtual]
void SimTK::Subsystem::Guts::advanceToStage ( const State &  s,
Stage  g 
) const [protected]

Friends And Related Function Documentation

friend class GutsRep [friend]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines