Simbody  3.3
 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 &)
 
Gutsoperator= (const Guts &)
 
 Guts (const String &name="<NONAME>", const String &version="0.0.0")
 
virtual ~Guts ()
 
const StringgetName () const
 
const StringgetVersion () 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 VectorgetQ (const State &) const
 
const VectorgetU (const State &) const
 
const VectorgetZ (const State &) const
 
const VectorgetUWeights (const State &) const
 
const VectorgetZWeights (const State &) const
 
const VectorgetQDot (const State &) const
 
const VectorgetUDot (const State &) const
 
const VectorgetZDot (const State &) const
 
const VectorgetQDotDot (const State &) const
 
const VectorgetQErr (const State &) const
 
const VectorgetUErr (const State &) const
 
const VectorgetQErrWeights (const State &) const
 
const VectorgetUErrWeights (const State &) const
 
const VectorgetUDotErr (const State &) const
 
const VectorgetMultipliers (const State &) const
 
const VectorgetEventTriggersByStage (const State &, Stage) const
 
VectorupdQ (State &) const
 
VectorupdU (State &) const
 
VectorupdZ (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
 
VectorupdQDot (const State &) const
 
VectorupdUDot (const State &) const
 
VectorupdZDot (const State &) const
 
VectorupdQDotDot (const State &) const
 
VectorupdQErr (const State &) const
 
VectorupdUErr (const State &) const
 
VectorupdUDotErr (const State &) const
 
VectorupdMultipliers (const State &) const
 
VectorupdEventTriggersByStage (const State &, Stage) const
 
Stage getStage (const State &) const
 
const AbstractValuegetDiscreteVariable (const State &, DiscreteVariableIndex) const
 
Real getDiscreteVarLastUpdateTime (const State &s, DiscreteVariableIndex dx) const
 
CacheEntryIndex getDiscreteVarUpdateIndex (const State &s, DiscreteVariableIndex dx) const
 
const AbstractValuegetDiscreteVarUpdateValue (const State &s, DiscreteVariableIndex dx) const
 
AbstractValueupdDiscreteVarUpdateValue (const State &s, DiscreteVariableIndex dx) const
 
bool isDiscreteVarUpdateValueRealized (const State &s, DiscreteVariableIndex dx) const
 
void markDiscreteVarUpdateValueRealized (const State &s, DiscreteVariableIndex dx) const
 
AbstractValueupdDiscreteVariable (State &, DiscreteVariableIndex) const
 
const AbstractValuegetCacheEntry (const State &, CacheEntryIndex) const
 
AbstractValueupdCacheEntry (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 SystemgetSystem () const
 
SystemupdSystem ()
 
SubsystemIndex getMySubsystemIndex () const
 
const SubsystemgetOwnerSubsystemHandle () const
 
SubsystemupdOwnerSubsystemHandle ()
 
void setOwnerSubsystemHandle (Subsystem &)
 
bool hasOwnerSubsystemHandle () const
 
void setSystem (System &, SubsystemIndex)
 
 Guts (GutsRep *r)
 
bool hasRep () const
 
const GutsRepgetRep () const
 
GutsRepupdRep () const
 
void setRep (GutsRep &r)
 
bool subsystemTopologyHasBeenRealized () const
 
void invalidateSubsystemTopologyCache () const
 
Subsystem::Gutsclone () 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::GutscloneImpl () 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: