Simbody  3.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SimTK::Subsystem::Guts Class Referenceabstract

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

#include <SubsystemGuts.h>

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

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 Guts &  )
SimTK::Subsystem::Guts::Guts ( const String &  name = "<NONAME>",
const String &  version = "0.0.0" 
)
explicit
virtual SimTK::Subsystem::Guts::~Guts ( )
virtual

Reimplemented in SimTK::ForceSubsystem::Guts.

SimTK::Subsystem::Guts::Guts ( GutsRep *  r)
inlineexplicit

Member Function Documentation

Guts& SimTK::Subsystem::Guts::operator= ( const Guts &  )
const String& SimTK::Subsystem::Guts::getName ( ) const
const String& SimTK::Subsystem::Guts::getVersion ( ) const
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
DiscreteVariableIndex SimTK::Subsystem::Guts::allocateDiscreteVariable ( State &  s,
Stage  g,
AbstractValue *  v 
) const
DiscreteVariableIndex SimTK::Subsystem::Guts::allocateAutoUpdateDiscreteVariable ( State &  ,
Stage  invalidates,
AbstractValue *  v,
Stage  updateDependsOn 
) 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
EventTriggerByStageIndex SimTK::Subsystem::Guts::allocateEventTriggersByStage ( const State &  ,
Stage  ,
int  ntriggers 
) 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::getQErrWeights ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getUErrWeights ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getUDotErr ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getMultipliers ( const State &  ) const
const Vector& SimTK::Subsystem::Guts::getEventTriggersByStage ( const State &  ,
Stage   
) const
Vector& SimTK::Subsystem::Guts::updQ ( State &  ) const
Vector& SimTK::Subsystem::Guts::updU ( State &  ) const
Vector& SimTK::Subsystem::Guts::updZ ( 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
Vector& SimTK::Subsystem::Guts::updQDot ( const State &  ) const
Vector& SimTK::Subsystem::Guts::updUDot ( const State &  ) const
Vector& SimTK::Subsystem::Guts::updZDot ( const State &  ) const
Vector& SimTK::Subsystem::Guts::updQDotDot ( const State &  ) const
Vector& SimTK::Subsystem::Guts::updQErr ( const State &  ) const
Vector& SimTK::Subsystem::Guts::updUErr ( const State &  ) const
Vector& SimTK::Subsystem::Guts::updUDotErr ( const State &  ) const
Vector& SimTK::Subsystem::Guts::updMultipliers ( const State &  ) const
Vector& SimTK::Subsystem::Guts::updEventTriggersByStage ( const State &  ,
Stage   
) const
Stage SimTK::Subsystem::Guts::getStage ( const State &  ) const
const AbstractValue& SimTK::Subsystem::Guts::getDiscreteVariable ( const State &  ,
DiscreteVariableIndex   
) const
Real SimTK::Subsystem::Guts::getDiscreteVarLastUpdateTime ( const State &  s,
DiscreteVariableIndex  dx 
) const
inline
CacheEntryIndex SimTK::Subsystem::Guts::getDiscreteVarUpdateIndex ( const State &  s,
DiscreteVariableIndex  dx 
) const
inline
const AbstractValue& SimTK::Subsystem::Guts::getDiscreteVarUpdateValue ( const State &  s,
DiscreteVariableIndex  dx 
) const
inline
AbstractValue& SimTK::Subsystem::Guts::updDiscreteVarUpdateValue ( const State &  s,
DiscreteVariableIndex  dx 
) const
inline
bool SimTK::Subsystem::Guts::isDiscreteVarUpdateValueRealized ( const State &  s,
DiscreteVariableIndex  dx 
) const
inline
void SimTK::Subsystem::Guts::markDiscreteVarUpdateValueRealized ( const State &  s,
DiscreteVariableIndex  dx 
) const
inline
AbstractValue& SimTK::Subsystem::Guts::updDiscreteVariable ( State &  ,
DiscreteVariableIndex   
) const
const AbstractValue& SimTK::Subsystem::Guts::getCacheEntry ( const State &  ,
CacheEntryIndex   
) const
AbstractValue& SimTK::Subsystem::Guts::updCacheEntry ( const State &  ,
CacheEntryIndex   
) const
bool SimTK::Subsystem::Guts::isCacheValueRealized ( const State &  ,
CacheEntryIndex   
) const
void SimTK::Subsystem::Guts::markCacheValueRealized ( const State &  ,
CacheEntryIndex   
) const
void SimTK::Subsystem::Guts::markCacheValueNotRealized ( const State &  ,
CacheEntryIndex   
) const
SystemQIndex SimTK::Subsystem::Guts::getQStart ( const State &  ) const
int SimTK::Subsystem::Guts::getNQ ( const State &  ) const
SystemUIndex SimTK::Subsystem::Guts::getUStart ( const State &  ) const
int SimTK::Subsystem::Guts::getNU ( const State &  ) const
SystemZIndex SimTK::Subsystem::Guts::getZStart ( const State &  ) const
int SimTK::Subsystem::Guts::getNZ ( const State &  ) const
SystemQErrIndex SimTK::Subsystem::Guts::getQErrStart ( const State &  ) const
int SimTK::Subsystem::Guts::getNQErr ( const State &  ) const
SystemUErrIndex SimTK::Subsystem::Guts::getUErrStart ( const State &  ) const
int SimTK::Subsystem::Guts::getNUErr ( const State &  ) const
SystemUDotErrIndex SimTK::Subsystem::Guts::getUDotErrStart ( const State &  ) const
int SimTK::Subsystem::Guts::getNUDotErr ( const State &  ) const
SystemMultiplierIndex SimTK::Subsystem::Guts::getMultipliersStart ( const State &  ) const
int SimTK::Subsystem::Guts::getNMultipliers ( const State &  ) const
SystemEventTriggerByStageIndex SimTK::Subsystem::Guts::getEventTriggerStartByStage ( const State &  ,
Stage   
) const
int SimTK::Subsystem::Guts::getNEventTriggersByStage ( const State &  ,
Stage   
) const
MeasureIndex SimTK::Subsystem::Guts::adoptMeasure ( AbstractMeasure &  m)
AbstractMeasure SimTK::Subsystem::Guts::getMeasure ( MeasureIndex  ) const
template<class T >
Measure_<T> SimTK::Subsystem::Guts::getMeasure_ ( MeasureIndex  mx) const
inline
bool SimTK::Subsystem::Guts::isInSystem ( ) const
bool SimTK::Subsystem::Guts::isInSameSystem ( const Subsystem &  otherSubsystem) const
const System& SimTK::Subsystem::Guts::getSystem ( ) const
System& SimTK::Subsystem::Guts::updSystem ( )
SubsystemIndex SimTK::Subsystem::Guts::getMySubsystemIndex ( ) const
const Subsystem& SimTK::Subsystem::Guts::getOwnerSubsystemHandle ( ) const
Subsystem& SimTK::Subsystem::Guts::updOwnerSubsystemHandle ( )
void SimTK::Subsystem::Guts::setOwnerSubsystemHandle ( Subsystem &  )
bool SimTK::Subsystem::Guts::hasOwnerSubsystemHandle ( ) const
void SimTK::Subsystem::Guts::setSystem ( System &  ,
SubsystemIndex   
)
bool SimTK::Subsystem::Guts::hasRep ( ) const
inline
const GutsRep& SimTK::Subsystem::Guts::getRep ( ) const
inline
GutsRep& SimTK::Subsystem::Guts::updRep ( ) const
inline
void SimTK::Subsystem::Guts::setRep ( GutsRep &  r)
inline
bool SimTK::Subsystem::Guts::subsystemTopologyHasBeenRealized ( ) const
void SimTK::Subsystem::Guts::invalidateSubsystemTopologyCache ( ) const
Subsystem::Guts* SimTK::Subsystem::Guts::clone ( ) const
void SimTK::Subsystem::Guts::realizeSubsystemTopology ( State &  ) const
void SimTK::Subsystem::Guts::realizeSubsystemModel ( State &  ) const
void SimTK::Subsystem::Guts::realizeSubsystemInstance ( const State &  ) const
void SimTK::Subsystem::Guts::realizeSubsystemTime ( const State &  ) const
void SimTK::Subsystem::Guts::realizeSubsystemPosition ( const State &  ) const
void SimTK::Subsystem::Guts::realizeSubsystemVelocity ( const State &  ) const
void SimTK::Subsystem::Guts::realizeSubsystemDynamics ( const State &  ) const
void SimTK::Subsystem::Guts::realizeSubsystemAcceleration ( const State &  ) const
void SimTK::Subsystem::Guts::realizeSubsystemReport ( const State &  ) const
void SimTK::Subsystem::Guts::calcDecorativeGeometryAndAppend ( const State &  ,
Stage  ,
Array_< DecorativeGeometry > &   
) const
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::calcEventTriggerInfo ( const State &  ,
Array_< EventTriggerInfo > &   
) 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
protectedpure virtual
virtual int SimTK::Subsystem::Guts::realizeSubsystemTopologyImpl ( State &  s) const
inlineprotectedvirtual
virtual int SimTK::Subsystem::Guts::realizeSubsystemModelImpl ( State &  s) const
inlineprotectedvirtual
virtual int SimTK::Subsystem::Guts::realizeSubsystemInstanceImpl ( const State &  s) const
inlineprotectedvirtual
virtual int SimTK::Subsystem::Guts::realizeSubsystemTimeImpl ( const State &  s) const
inlineprotectedvirtual
virtual int SimTK::Subsystem::Guts::realizeSubsystemPositionImpl ( const State &  s) const
inlineprotectedvirtual
virtual int SimTK::Subsystem::Guts::realizeSubsystemVelocityImpl ( const State &  s) const
inlineprotectedvirtual
virtual int SimTK::Subsystem::Guts::realizeSubsystemDynamicsImpl ( const State &  s) const
inlineprotectedvirtual
virtual int SimTK::Subsystem::Guts::realizeSubsystemAccelerationImpl ( const State &  s) const
inlineprotectedvirtual
virtual int SimTK::Subsystem::Guts::realizeSubsystemReportImpl ( const State &  s) const
inlineprotectedvirtual
virtual int SimTK::Subsystem::Guts::calcDecorativeGeometryAndAppendImpl ( const State &  ,
Stage  ,
Array_< DecorativeGeometry > &   
) const
inlineprotectedvirtual
virtual void SimTK::Subsystem::Guts::calcEventTriggerInfoImpl ( const State &  ,
Array_< EventTriggerInfo > &   
) const
inlineprotectedvirtual
virtual void SimTK::Subsystem::Guts::calcTimeOfNextScheduledEventImpl ( const State &  ,
Real &  tNextEvent,
Array_< EventId > &  eventIds,
bool  includeCurrentTime 
) const
inlineprotectedvirtual
virtual void SimTK::Subsystem::Guts::calcTimeOfNextScheduledReportImpl ( const State &  ,
Real &  tNextEvent,
Array_< EventId > &  eventIds,
bool  includeCurrentTime 
) const
inlineprotectedvirtual
virtual void SimTK::Subsystem::Guts::handleEventsImpl ( State &  ,
Event::Cause  ,
const Array_< EventId > &  eventIds,
const HandleEventsOptions &  options,
HandleEventsResults &  results 
) const
inlineprotectedvirtual
virtual void SimTK::Subsystem::Guts::reportEventsImpl ( const State &  ,
Event::Cause  ,
const Array_< EventId > &  eventIds 
) const
inlineprotectedvirtual
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: