A class for recording and computting basic quantities (length, shortening velocity, tendon length, . More...
#include <MuscleAnalysis.h>
Classes | |
struct | private |
Public Member Functions | |
MuscleAnalysis (Model *aModel=0) | |
Construct a MuscleAnalysis object for recording the MuscleAnalysis of a model's generalized coodinates during a simulation. | |
MuscleAnalysis (const std::string &aFileName) | |
Construct an object from file. | |
MuscleAnalysis (const MuscleAnalysis &aObject) | |
Copy constructor. | |
virtual Object * | copy () const |
Clone. | |
virtual | ~MuscleAnalysis () |
Destructor. | |
MuscleAnalysis & | operator= (const MuscleAnalysis &aMuscleAnalysis) |
Assignment operator. | |
virtual void | setModel (Model &aModel) |
Set the model pointer for analysis. | |
void | setStorageCapacityIncrements (int aIncrement) |
Set the capacity increments of all storage instances. | |
Storage * | getPennationAngleStorage () const |
Storage * | getMuscleTendonLengthStorage () const |
Storage * | getFiberLengthStorage () const |
Storage * | getNormalizedFiberLengthStorage () const |
Storage * | getTendonLegthStorage () const |
Storage * | getForceStorage () const |
Storage * | getFiberForceStorage () const |
Storage * | getActiveFiberForceStorage () const |
Storage * | getPassiveFiberForceStorage () const |
Storage * | getActiveFiberForceAlongTendonStorage () const |
Storage * | getPassiveFiberForceAlongTendonStorage () const |
void | setMuscles (Array< std::string > &aMuscles) |
Set the list of muscles to analyze. | |
void | setCoordinates (Array< std::string > &aCoordinates) |
Set the list of coordinates. | |
void | setComputeMoments (bool aTrueFalse) |
bool | getComputeMoments () const |
virtual int | begin (const SimTK::State &s) |
This method is called at the beginning of an analysis so that any necessary initializations may be performed. | |
virtual int | step (const SimTK::State &s) |
This method is called to perform the analysis. | |
virtual int | end (const SimTK::State &s) |
This method is called at the end of an analysis so that any necessary finalizations may be performed. | |
virtual int | printResults (const std::string &aBaseName, const std::string &aDir="", double aDT=-1.0, const std::string &aExtension=".sto") |
Print the results of the analysis. | |
Public Attributes | |
PropertyStrArray | _coordinateListProp |
List of generalized coordinates for which to compute moment arms. | |
PropertyBool | _computeMomentsProp |
Compute moments and moment arms. | |
Storage * | _pennationAngleStore |
Pennation angle storage. | |
Storage * | _lengthStore |
Muscle-tendon length storage. | |
Storage * | _fiberLengthStore |
Fiber length storage. | |
Storage * | _normalizedFiberLengthStore |
Normalized fiber length storage. | |
Storage * | _tendonLengthStore |
Tendon length storage. | |
Storage * | _forceStore |
Force applied by the muscle. | |
Storage * | _fiberForceStore |
Force in the muscle fibers. | |
Storage * | _activeFiberForceStore |
Active force in the muscle fibers. | |
Storage * | _passiveFiberForceStore |
Passive force in the muscle fibers. | |
Storage * | _activeFiberForceAlongTendonStore |
Active force in the muscle fibers along tendon. | |
Storage * | _passiveFiberForceAlongTendonStore |
Passive force in the muscle fibers along tendon. | |
Array< std::string > | _muscleList |
Work array for holding the list of muscles. | |
Array< std::string > | _coordinateList |
Work array for holding the list of coordinates. | |
bool | _computeMoments |
ArrayPtrs< StorageCoordinatePair > | _momentArmStorageArray |
Array of active storage and coordinate pairs. | |
ArrayPtrs< Muscle > | _muscleArray |
Array of active muscles. | |
Protected Member Functions | |
virtual int | record (const SimTK::State &s) |
Record the MuscleAnalysis quantities. |
A class for recording and computting basic quantities (length, shortening velocity, tendon length, .
..) for muscles during a simulation.
MuscleAnalysis::MuscleAnalysis | ( | Model * | aModel = 0 |
) |
Construct a MuscleAnalysis object for recording the MuscleAnalysis of a model's generalized coodinates during a simulation.
aModel | Model for which the MuscleAnalysis are to be recorded. |
MuscleAnalysis::MuscleAnalysis | ( | const std::string & | aFileName | ) |
Construct an object from file.
The object is constructed from the root element of the XML document. The type of object is the tag name of the XML root element.
aFileName | File name of the document. |
MuscleAnalysis::MuscleAnalysis | ( | const MuscleAnalysis & | aObject | ) |
Copy constructor.
MuscleAnalysis::~MuscleAnalysis | ( | ) | [virtual] |
Destructor.
int MuscleAnalysis::begin | ( | const SimTK::State & | s | ) | [virtual] |
This method is called at the beginning of an analysis so that any necessary initializations may be performed.
This method is meant to be called at the begining of an integration
This method should be overriden in the child class. It is included here so that the child class will not have to implement it if it is not necessary.
s | current system state |
Reimplemented from OpenSim::Analysis.
Object * MuscleAnalysis::copy | ( | ) | const [virtual] |
Clone.
Reimplemented from OpenSim::Analysis.
int MuscleAnalysis::end | ( | const SimTK::State & | s | ) | [virtual] |
This method is called at the end of an analysis so that any necessary finalizations may be performed.
This method is meant to be called at the end of an integration
This method should be overriden in the child class. It is included here so that the child class will not have to implement it if it is not necessary.
s | current state of system |
Reimplemented from OpenSim::Analysis.
Storage* OpenSim::MuscleAnalysis::getActiveFiberForceAlongTendonStorage | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getActiveFiberForceStorage | ( | ) | const [inline] |
bool OpenSim::MuscleAnalysis::getComputeMoments | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getFiberForceStorage | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getFiberLengthStorage | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getForceStorage | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getMuscleTendonLengthStorage | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getNormalizedFiberLengthStorage | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getPassiveFiberForceAlongTendonStorage | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getPassiveFiberForceStorage | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getPennationAngleStorage | ( | ) | const [inline] |
Storage* OpenSim::MuscleAnalysis::getTendonLegthStorage | ( | ) | const [inline] |
MuscleAnalysis & MuscleAnalysis::operator= | ( | const MuscleAnalysis & | aAnalysis | ) |
virtual int OpenSim::MuscleAnalysis::printResults | ( | const std::string & | aBaseName, | |
const std::string & | aDir = "" , |
|||
double | aDT = -1.0 , |
|||
const std::string & | aExtension = ".sto" | |||
) | [virtual] |
Print the results of the analysis.
aFileName | File to which to print the data. | |
aDT | Time interval between results (linear interpolation is used). If not included as an argument or negative, all time steps are printed without interpolation. |
Reimplemented from OpenSim::Analysis.
int MuscleAnalysis::record | ( | const SimTK::State & | s | ) | [protected, virtual] |
Record the MuscleAnalysis quantities.
void OpenSim::MuscleAnalysis::setComputeMoments | ( | bool | aTrueFalse | ) | [inline] |
void MuscleAnalysis::setCoordinates | ( | Array< std::string > & | aCoordinates | ) |
void MuscleAnalysis::setModel | ( | Model & | aModel | ) | [virtual] |
Set the model pointer for analysis.
Reimplemented from OpenSim::Analysis.
void MuscleAnalysis::setMuscles | ( | Array< std::string > & | aMuscles | ) |
Set the list of muscles to analyze.
aMuscles | is the array of names of muscles to analyze. |
void MuscleAnalysis::setStorageCapacityIncrements | ( | int | aIncrement | ) |
Set the capacity increments of all storage instances.
aIncrement | Increment by which storage capacities will be increased when storage capcities run out. |
int MuscleAnalysis::step | ( | const SimTK::State & | s | ) | [virtual] |
This method is called to perform the analysis.
It can be called during the execution of a forward integrations or after the integration by feeding it the necessary data.
When called during an integration, this method is meant to be called
This method should be overriden in derived classes. It is included here so that the derived class will not have to implement it if it is not necessary.
s | current state of system |
Reimplemented from OpenSim::Analysis.
Active force in the muscle fibers along tendon.
Active force in the muscle fibers.
Compute moments and moment arms.
Array<std::string> OpenSim::MuscleAnalysis::_coordinateList |
Work array for holding the list of coordinates.
List of generalized coordinates for which to compute moment arms.
Force in the muscle fibers.
Fiber length storage.
Force applied by the muscle.
Muscle-tendon length storage.
ArrayPtrs<StorageCoordinatePair> OpenSim::MuscleAnalysis::_momentArmStorageArray |
Array of active storage and coordinate pairs.
ArrayPtrs<Muscle> OpenSim::MuscleAnalysis::_muscleArray |
Array of active muscles.
Array<std::string> OpenSim::MuscleAnalysis::_muscleList |
Work array for holding the list of muscles.
This array
Normalized fiber length storage.
Passive force in the muscle fibers along tendon.
Passive force in the muscle fibers.
Pennation angle storage.
Tendon length storage.