OpenSim::BushingForce Class Reference

A class implementing a Bushing Force. More...

#include <BushingForce.h>

Inheritance diagram for OpenSim::BushingForce:
OpenSim::Force OpenSim::ModelComponent OpenSim::Object

List of all members.

Public Member Functions

 BushingForce ()
 Default constructor.
 BushingForce (std::string body1Name, SimTK::Vec3 point1, SimTK::Vec3 orientation1, std::string body2Name, SimTK::Vec3 point2, SimTK::Vec3 orientation2, SimTK::Vec3 transStiffness, SimTK::Vec3 rotStiffness, SimTK::Vec3 transDamping, SimTK::Vec3 rotDamping)
 BushingForce (const BushingForce &aForce)
 Copy constructor.
virtual ~BushingForce ()
 Destructor.
virtual Objectcopy () const
 Copy this body and return a pointer to the copy.
BushingForceoperator= (const BushingForce &aForce)
 Assignment operator.
void copyData (const BushingForce &aForce)
 Copy data members from one BushingForce to another.
void setBody1ByName (std::string aBodyName)
 Following methods set attributes of the weld Force.
void setBody1BushingLocation (SimTK::Vec3 location, SimTK::Vec3 orientation=SimTK::Vec3(0))
void setBody2ByName (std::string aBodyName)
void setBody2BushingLocation (SimTK::Vec3 location, SimTK::Vec3 orientation=SimTK::Vec3(0))
virtual double computePotentialEnergy (const SimTK::State &s) const
 Potential energy is determine by the elastic energy storage of the bushing.
virtual OpenSim::Array
< std::string > 
getRecordLabels () const
 Provide name(s) of the quantities (column labels) of the force value(s) to be reported.
virtual OpenSim::Array< double > getRecordValues (const SimTK::State &state) const
 Provide the value(s) to be reported that correspond to the labels.

Protected Member Functions

virtual void setup (Model &aModel)
 Perform some set up functions that happen after the object has been deserialized or copied.
virtual void createSystem (SimTK::MultibodySystem &system) const
 Create a SimTK::Force::LinarBushing which implements this BushingForce.

Protected Attributes

PropertyStr _body1NameProp
 Specify first of two bodies held together by the bushing.
std::string & _body1Name
PropertyStr _body2NameProp
 Specify second of two bodies held by the bushing force.
std::string & _body2Name
PropertyDblVec3 _locationInBody1Prop
 Location of the bushing in first body specified in body1 reference frame.
SimTK::Vec3 & _locationInBody1
PropertyDblVec3 _orientationInBody1Prop
 Orientation of the bushing axes on body1 specified in body1's reference frame.
SimTK::Vec3 & _orientationInBody1
PropertyDblVec3 _locationInBody2Prop
 Location of the bushing in second body specified in body2 reference frame.
SimTK::Vec3 & _locationInBody2
PropertyDblVec3 _orientationInBody2Prop
 Orientation of the bushing axes on body2 specified in body2's reference frame.
SimTK::Vec3 & _orientationInBody2
PropertyDblVec3 _rotStiffnessProp
 Stiffness of the bushing related to Euler XYZ body-fixed rotation angles used to express the orientation.
SimTK::Vec3 & _rotStiffness
PropertyDblVec3 _transStiffnessProp
 Stiffness of the bushing related to XYZ translations between frames.
SimTK::Vec3 & _transStiffness
PropertyDblVec3 _rotDampingProp
 Damping of the bushing related to Euler XYZ body-fixed angular speeds.
SimTK::Vec3 & _rotDamping
PropertyDblVec3 _transDampingProp
 Damping of the bushing related to XYZ translation speeds between frames.
SimTK::Vec3 & _transDamping

Detailed Description

A class implementing a Bushing Force.

A Bushing Force is the force proportional to the deviation of two frames. One can think of the Bushing as being composed of 3 linear and 3 torsional spring-dampers, which act along or about the bushing frames. The underlying Force in Simbody is a SimtK::Force::LinearBushing

Author:
Ajay Seth
Version:
1.0

Constructor & Destructor Documentation

BushingForce::BushingForce (  ) 

Default constructor.

BushingForce::BushingForce ( std::string  body1Name,
SimTK::Vec3  point1,
SimTK::Vec3  orientation1,
std::string  body2Name,
SimTK::Vec3  point2,
SimTK::Vec3  orientation2,
SimTK::Vec3  transStiffness,
SimTK::Vec3  rotStiffness,
SimTK::Vec3  transDamping,
SimTK::Vec3  rotDamping 
)
BushingForce::BushingForce ( const BushingForce aForce  ) 

Copy constructor.

Parameters:
aForce BushingForce to be copied.
BushingForce::~BushingForce (  )  [virtual]

Destructor.


Member Function Documentation

double BushingForce::computePotentialEnergy ( const SimTK::State &  s  )  const [virtual]

Potential energy is determine by the elastic energy storage of the bushing.

Reimplemented from OpenSim::Force.

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

Copy this body and return a pointer to the copy.

The copy constructor for this class is used.

Returns:
Pointer to a copy of this OpenSim::Body.

Implements OpenSim::Force.

void BushingForce::copyData ( const BushingForce aForce  ) 

Copy data members from one BushingForce to another.

Parameters:
aForce BushingForce to be copied.

Reimplemented from OpenSim::Force.

void BushingForce::createSystem ( SimTK::MultibodySystem &  system  )  const [protected, virtual]

Create a SimTK::Force::LinarBushing which implements this BushingForce.

Reimplemented from OpenSim::Force.

OpenSim::Array< std::string > BushingForce::getRecordLabels (  )  const [virtual]

Provide name(s) of the quantities (column labels) of the force value(s) to be reported.

Provide names of the quantities (column labels) of the force value(s) reported.

Reimplemented from OpenSim::Force.

OpenSim::Array< double > BushingForce::getRecordValues ( const SimTK::State &  state  )  const [virtual]

Provide the value(s) to be reported that correspond to the labels.

Reimplemented from OpenSim::Force.

BushingForce & BushingForce::operator= ( const BushingForce aForce  ) 

Assignment operator.

Returns:
Reference to this object.

Reimplemented from OpenSim::Force.

void OpenSim::BushingForce::setBody1BushingLocation ( SimTK::Vec3  location,
SimTK::Vec3  orientation = SimTK::Vec3(0) 
)
void BushingForce::setBody1ByName ( std::string  aBodyName  ) 

Following methods set attributes of the weld Force.

void OpenSim::BushingForce::setBody2BushingLocation ( SimTK::Vec3  location,
SimTK::Vec3  orientation = SimTK::Vec3(0) 
)
void BushingForce::setBody2ByName ( std::string  aBodyName  ) 
void BushingForce::setup ( Model aModel  )  [protected, virtual]

Perform some set up functions that happen after the object has been deserialized or copied.

Parameters:
aModel OpenSim model containing this BushingForce.

Reimplemented from OpenSim::Force.


Member Data Documentation

std::string& OpenSim::BushingForce::_body1Name [protected]

Specify first of two bodies held together by the bushing.

std::string& OpenSim::BushingForce::_body2Name [protected]

Specify second of two bodies held by the bushing force.

SimTK::Vec3& OpenSim::BushingForce::_locationInBody1 [protected]

Location of the bushing in first body specified in body1 reference frame.

SimTK::Vec3& OpenSim::BushingForce::_locationInBody2 [protected]

Location of the bushing in second body specified in body2 reference frame.

Orientation of the bushing axes on body1 specified in body1's reference frame.

Euler XYZ body-fixed rotation angles are used to express the orientation.

Orientation of the bushing axes on body2 specified in body2's reference frame.

Euler XYZ body-fixed rotation angles are used to express the orientation.

SimTK::Vec3& OpenSim::BushingForce::_rotDamping [protected]

Damping of the bushing related to Euler XYZ body-fixed angular speeds.

SimTK::Vec3& OpenSim::BushingForce::_rotStiffness [protected]

Stiffness of the bushing related to Euler XYZ body-fixed rotation angles used to express the orientation.

SimTK::Vec3& OpenSim::BushingForce::_transDamping [protected]

Damping of the bushing related to XYZ translation speeds between frames.

SimTK::Vec3& OpenSim::BushingForce::_transStiffness [protected]

Stiffness of the bushing related to XYZ translations between frames.


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

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