OpenSim::InverseDynamics Class Reference

A class for performing and recording Inverse Dynamics forces/moments on a motion trajectory. More...

#include <InverseDynamics.h>

Inheritance diagram for OpenSim::InverseDynamics:
OpenSim::Analysis OpenSim::Object

List of all members.

Public Member Functions

 InverseDynamics (Model *aModel=0)
 InverseDynamics (const InverseDynamics &aObject)
 Copy constructor.
virtual Objectcopy () const
 Clone.
virtual ~InverseDynamics ()
 Destructor.
InverseDynamicsoperator= (const InverseDynamics &aInverseDynamics)
 Assign this object to the values of another.
void setStorageCapacityIncrements (int aIncrement)
 Set the capacity increments of all storage instances.
StoragegetStorage ()
 Get the inverse dynamics force storage.
bool getUseModelForceSet ()
void setUseModelForceSet (bool aUseModelForceSet)
virtual void setModel (Model &aModel)
 Set the model for which the inverse dynamics are to be computed.
virtual int begin (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, int setNumber)
 This method is called to perform the analysis.
virtual int end (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.

Protected Member Functions

virtual int record (const SimTK::State &s)
 Record the inverse dynamics forces.

Protected Attributes

PropertyBool _useModelForceSetProp
 Use force set from model.
bool & _useModelForceSet
Storage_storage
GCVSplineSet _statesSplineSet
Array< double > _dydt
Array< int > _accelerationIndices
bool _ownsForceSet
ForceSet_forceSet
SimTK::Matrix _performanceMatrix
SimTK::Vector _performanceVector
SimTK::Matrix _constraintMatrix
SimTK::Vector _constraintVector
SimTK::Vector _lapackWork
Model_modelWorkingCopy

Detailed Description

A class for performing and recording Inverse Dynamics forces/moments on a motion trajectory.

Author:
Eran

Constructor & Destructor Documentation

InverseDynamics::InverseDynamics ( Model aModel = 0  ) 
InverseDynamics::InverseDynamics ( const InverseDynamics aObject  ) 

Copy constructor.

InverseDynamics::~InverseDynamics (  )  [virtual]

Destructor.


Member Function Documentation

int InverseDynamics::begin ( SimTK::State &  s  )  [virtual]

This method is called at the beginning of an analysis so that any necessary initializations may be performed.

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.

Parameters:
s state of system
Returns:
-1 on error, 0 otherwise.

Reimplemented from OpenSim::Analysis.

Object * InverseDynamics::copy (  )  const [virtual]

Clone.

Reimplemented from OpenSim::Analysis.

int InverseDynamics::end ( SimTK::State &  s  )  [virtual]

This method is called at the end of an analysis so that any necessary finalizations may be performed.

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.

Parameters:
s state of system
Returns:
-1 on error, 0 otherwise.

Reimplemented from OpenSim::Analysis.

Storage * InverseDynamics::getStorage (  ) 

Get the inverse dynamics force storage.

Returns:
Inverse dynamics force storage.
bool OpenSim::InverseDynamics::getUseModelForceSet (  )  [inline]
InverseDynamics & InverseDynamics::operator= ( const InverseDynamics aInverseDynamics  ) 

Assign this object to the values of another.

Returns:
Reference to this object.

Reimplemented from OpenSim::Analysis.

virtual int OpenSim::InverseDynamics::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.

Parameters:
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.
Returns:
-1 on error, 0 otherwise.

Reimplemented from OpenSim::Analysis.

int InverseDynamics::record ( const SimTK::State &  s  )  [protected, virtual]

Record the inverse dynamics forces.

void InverseDynamics::setModel ( Model aModel  )  [virtual]

Set the model for which the inverse dynamics are to be computed.

Parameters:
aModel Model pointer

Reimplemented from OpenSim::Analysis.

void InverseDynamics::setStorageCapacityIncrements ( int  aIncrement  ) 

Set the capacity increments of all storage instances.

Parameters:
aIncrement Increment by which storage capacities will be increased when storage capacities run out.
void OpenSim::InverseDynamics::setUseModelForceSet ( bool  aUseModelForceSet  )  [inline]
int InverseDynamics::step ( const SimTK::State &  s,
int  stepNumber 
) [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.

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.

Parameters:
s state of sytem
Returns:
-1 on error, 0 otherwise.

Reimplemented from OpenSim::Analysis.


Member Data Documentation

SimTK::Vector OpenSim::InverseDynamics::_lapackWork [protected]

Use force set from model.


The documentation for this class was generated from the following files:

Generated on Sun Sep 25 00:19:46 2011 for OpenSim by  doxygen 1.6.1