Simbody
Public Member Functions | Protected Member Functions

SimTK::MultibodySystem Class Reference

The job of the MultibodySystem class is to coordinate the activities of various subsystems which can be part of a multibody system. More...

#include <MultibodySystem.h>

Inheritance diagram for SimTK::MultibodySystem:

List of all members.

Public Member Functions

 MultibodySystem ()
 MultibodySystem (SimbodyMatterSubsystem &m)
int addForceSubsystem (ForceSubsystem &)
int setMatterSubsystem (SimbodyMatterSubsystem &)
const SimbodyMatterSubsystemgetMatterSubsystem () const
SimbodyMatterSubsystemupdMatterSubsystem ()
bool hasMatterSubsystem () const
int setDecorationSubsystem (DecorationSubsystem &)
const DecorationSubsystemgetDecorationSubsystem () const
DecorationSubsystemupdDecorationSubsystem ()
bool hasDecorationSubsystem () const
int setContactSubsystem (GeneralContactSubsystem &)
const GeneralContactSubsystemgetContactSubsystem () const
GeneralContactSubsystemupdContactSubsystem ()
bool hasContactSubsystem () const
const Real calcPotentialEnergy (const State &) const
 Calculate the total potential energy of the system.
const Real calcKineticEnergy (const State &) const
 Calculate the total kinetic energy of the system.
Real calcEnergy (const State &s) const
 Calculate the total energy of the system.
const Vector_< SpatialVec > & getRigidBodyForces (const State &, Stage) const
const Vector_< Vec3 > & getParticleForces (const State &, Stage) const
const VectorgetMobilityForces (const State &, Stage) const
Vector_< SpatialVec > & updRigidBodyForces (const State &, Stage) const
Vector_< Vec3 > & updParticleForces (const State &, Stage) const
VectorupdMobilityForces (const State &, Stage) const
 SimTK_PIMPL_DOWNCAST (MultibodySystem, System)
class MultibodySystemRep & updRep ()
const MultibodySystemRep & getRep () const

Protected Member Functions

 MultibodySystem (MultibodySystemRep *)

Detailed Description

The job of the MultibodySystem class is to coordinate the activities of various subsystems which can be part of a multibody system.

We insist on having exactly one MatterSubsystem, and we would like also to have:


Constructor & Destructor Documentation

SimTK::MultibodySystem::MultibodySystem ( )
SimTK::MultibodySystem::MultibodySystem ( SimbodyMatterSubsystem m) [explicit]
SimTK::MultibodySystem::MultibodySystem ( MultibodySystemRep *  ) [explicit, protected]

Member Function Documentation

int SimTK::MultibodySystem::addForceSubsystem ( ForceSubsystem )
int SimTK::MultibodySystem::setMatterSubsystem ( SimbodyMatterSubsystem )
const SimbodyMatterSubsystem& SimTK::MultibodySystem::getMatterSubsystem ( ) const
SimbodyMatterSubsystem& SimTK::MultibodySystem::updMatterSubsystem ( )
bool SimTK::MultibodySystem::hasMatterSubsystem ( ) const
int SimTK::MultibodySystem::setDecorationSubsystem ( DecorationSubsystem )
const DecorationSubsystem& SimTK::MultibodySystem::getDecorationSubsystem ( ) const
DecorationSubsystem& SimTK::MultibodySystem::updDecorationSubsystem ( )
bool SimTK::MultibodySystem::hasDecorationSubsystem ( ) const
int SimTK::MultibodySystem::setContactSubsystem ( GeneralContactSubsystem )
const GeneralContactSubsystem& SimTK::MultibodySystem::getContactSubsystem ( ) const
GeneralContactSubsystem& SimTK::MultibodySystem::updContactSubsystem ( )
bool SimTK::MultibodySystem::hasContactSubsystem ( ) const
const Real SimTK::MultibodySystem::calcPotentialEnergy ( const State ) const

Calculate the total potential energy of the system.

The state must be at Dynamics stage or later.

const Real SimTK::MultibodySystem::calcKineticEnergy ( const State ) const

Calculate the total kinetic energy of the system.

The state must be at Velocity stage or later.

Real SimTK::MultibodySystem::calcEnergy ( const State s) const [inline]

Calculate the total energy of the system.

The state must be at Dynamics stage or later.

const Vector_<SpatialVec>& SimTK::MultibodySystem::getRigidBodyForces ( const State ,
Stage   
) const
const Vector_<Vec3>& SimTK::MultibodySystem::getParticleForces ( const State ,
Stage   
) const
const Vector& SimTK::MultibodySystem::getMobilityForces ( const State ,
Stage   
) const
Vector_<SpatialVec>& SimTK::MultibodySystem::updRigidBodyForces ( const State ,
Stage   
) const
Vector_<Vec3>& SimTK::MultibodySystem::updParticleForces ( const State ,
Stage   
) const
Vector& SimTK::MultibodySystem::updMobilityForces ( const State ,
Stage   
) const
SimTK::MultibodySystem::SimTK_PIMPL_DOWNCAST ( MultibodySystem  ,
System   
)
class MultibodySystemRep& SimTK::MultibodySystem::updRep ( )
const MultibodySystemRep& SimTK::MultibodySystem::getRep ( ) const

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines