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 MultibodySystem:
System MolecularMechanicsSystem CompoundSystem

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

MultibodySystem (  ) 
MultibodySystem ( MultibodySystemRep *   )  [explicit, protected]

Member Function Documentation

int addForceSubsystem ( ForceSubsystem  ) 
Real calcEnergy ( const State s  )  const [inline]

Calculate the total energy of the system.

The state must be at Dynamics stage or later.

const Real calcKineticEnergy ( const State  )  const

Calculate the total kinetic energy of the system.

The state must be at Velocity stage or later.

const Real calcPotentialEnergy ( const State  )  const

Calculate the total potential energy of the system.

The state must be at Dynamics stage or later.

const GeneralContactSubsystem& getContactSubsystem (  )  const
const DecorationSubsystem& getDecorationSubsystem (  )  const
const SimbodyMatterSubsystem& getMatterSubsystem (  )  const
const Vector& getMobilityForces ( const State ,
Stage   
) const
const Vector_<Vec3>& getParticleForces ( const State ,
Stage   
) const
const MultibodySystemRep& getRep (  )  const
const Vector_<SpatialVec>& getRigidBodyForces ( const State ,
Stage   
) const
bool hasContactSubsystem (  )  const
bool hasDecorationSubsystem (  )  const
bool hasMatterSubsystem (  )  const
int setContactSubsystem ( GeneralContactSubsystem  ) 
int setDecorationSubsystem ( DecorationSubsystem  ) 
int setMatterSubsystem ( SimbodyMatterSubsystem  ) 
SimTK_PIMPL_DOWNCAST ( MultibodySystem  ,
System   
)

Reimplemented in MolecularMechanicsSystem.

GeneralContactSubsystem& updContactSubsystem (  ) 
DecorationSubsystem& updDecorationSubsystem (  ) 
SimbodyMatterSubsystem& updMatterSubsystem (  ) 
Vector& updMobilityForces ( const State ,
Stage   
) const
Vector_<Vec3>& updParticleForces ( const State ,
Stage   
) const
class MultibodySystemRep& updRep (  ) 
Vector_<SpatialVec>& updRigidBodyForces ( const State ,
Stage   
) const

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

Generated on Wed Dec 30 11:05:15 2009 for SimTKcore by  doxygen 1.6.1