Simbody
Public Member Functions | Protected Member Functions | Friends

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 &)
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 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 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 GutsRep & getRep () const
GutsRep & updRep () 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 calcQUnitWeights (const State &, Vector &weights) const
void calcUUnitWeights (const State &, Vector &weights) const
void calcZUnitWeights (const State &, Vector &weights) const
void calcQErrUnitTolerances (const State &, Vector &tolerances) const
void calcUErrUnitTolerances (const State &, Vector &tolerances) 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
virtual void calcEventTriggerInfo (const State &, Array_< EventTriggerInfo > &) const
virtual void calcTimeOfNextScheduledEvent (const State &, Real &tNextEvent, Array_< EventId > &eventIds, bool includeCurrentTime) const
virtual void calcTimeOfNextScheduledReport (const State &, Real &tNextEvent, Array_< EventId > &eventIds, bool includeCurrentTime) const
virtual void handleEvents (State &, Event::Cause, const Array_< EventId > &eventIds, Real accuracy, const Vector &yWeights, const Vector &ooConstraintTols, Stage &lowestModified, bool &shouldTerminate) const
virtual 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 calcQUnitWeightsImpl (const State &s, Vector &weights) const
virtual int calcUUnitWeightsImpl (const State &s, Vector &weights) const
virtual int calcZUnitWeightsImpl (const State &s, Vector &weights) const
virtual int calcQErrUnitTolerancesImpl (const State &s, Vector &tolerances) const
virtual int calcUErrUnitTolerancesImpl (const State &s, Vector &tolerances) const
virtual int calcDecorativeGeometryAndAppendImpl (const State &, Stage, Array_< DecorativeGeometry > &) 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]

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 )
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::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
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::calcQUnitWeights ( const State ,
Vector weights 
) const
void SimTK::Subsystem::Guts::calcUUnitWeights ( const State ,
Vector weights 
) const
void SimTK::Subsystem::Guts::calcZUnitWeights ( const State ,
Vector weights 
) const
void SimTK::Subsystem::Guts::calcQErrUnitTolerances ( const State ,
Vector tolerances 
) const
void SimTK::Subsystem::Guts::calcUErrUnitTolerances ( const State ,
Vector tolerances 
) 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
virtual void SimTK::Subsystem::Guts::calcEventTriggerInfo ( const State ,
Array_< EventTriggerInfo > &   
) const [virtual]
virtual void SimTK::Subsystem::Guts::calcTimeOfNextScheduledEvent ( const State ,
Real &  tNextEvent,
Array_< EventId > &  eventIds,
bool  includeCurrentTime 
) const [virtual]
virtual void SimTK::Subsystem::Guts::calcTimeOfNextScheduledReport ( const State ,
Real &  tNextEvent,
Array_< EventId > &  eventIds,
bool  includeCurrentTime 
) const [virtual]
virtual void SimTK::Subsystem::Guts::handleEvents ( State ,
Event::Cause  ,
const Array_< EventId > &  eventIds,
Real  accuracy,
const Vector yWeights,
const Vector ooConstraintTols,
Stage lowestModified,
bool &  shouldTerminate 
) const [virtual]
virtual void SimTK::Subsystem::Guts::reportEvents ( const State ,
Event::Cause  ,
const Array_< EventId > &  eventIds 
) const [virtual]
virtual Subsystem::Guts* SimTK::Subsystem::Guts::cloneImpl ( ) const [protected, pure virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemTopologyImpl ( State s) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemModelImpl ( State s) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemInstanceImpl ( const State s) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemTimeImpl ( const State s) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemPositionImpl ( const State s) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemVelocityImpl ( const State s) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemDynamicsImpl ( const State s) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemAccelerationImpl ( const State s) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::realizeSubsystemReportImpl ( const State s) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::calcQUnitWeightsImpl ( const State s,
Vector weights 
) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::calcUUnitWeightsImpl ( const State s,
Vector weights 
) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::calcZUnitWeightsImpl ( const State s,
Vector weights 
) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::calcQErrUnitTolerancesImpl ( const State s,
Vector tolerances 
) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::calcUErrUnitTolerancesImpl ( const State s,
Vector tolerances 
) const [protected, virtual]
virtual int SimTK::Subsystem::Guts::calcDecorativeGeometryAndAppendImpl ( const State ,
Stage  ,
Array_< DecorativeGeometry > &   
) const [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