OpenSim::ElasticFoundationForce Class Reference

This Force subclass implements an elastic foundation contact model. More...

#include <ElasticFoundationForce.h>

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

List of all members.

Public Member Functions

 ElasticFoundationForce ()
 ElasticFoundationForce (const ElasticFoundationForce &copy)
 ElasticFoundationForce (ContactParameters *params)
void copyData (const ElasticFoundationForce &copy)
Objectcopy () const
 Copy this force and return a pointer to the copy.
void createSystem (SimTK::MultibodySystem &system) const
 Create a SimTK::Force which implements this Force.
ContactParametersSet & updContactParametersSet ()
const ContactParametersSet & getContactParametersSet ()
void addContactParameters (ContactParameters *params)
double getTransitionVelocity () const
 Get the transition velocity for switching between static and dynamic friction.
void setTransitionVelocity (double velocity)
 Set the transition velocity for switching between static and dynamic friction.
 ContactParameters ()
 ContactParameters (const ContactParameters &copy)
 ContactParameters (double stiffness, double dissipation, double staticFriction, double dynamicFriction, double viscousFriction)
void copyData (const ContactParameters &copy)
Objectcopy () const
 Construct and return a copy of this object.
const Array< std::string > & getGeometry () const
Array< std::string > & updGeometry ()
void addGeometry (const std::string &name)
double getStiffness () const
void setStiffness (double stiffness)
double getDissipation () const
void setDissipation (double dissipation)
double getStaticFriction () const
void setStaticFriction (double friction)
double getDynamicFriction () const
void setDynamicFriction (double friction)
double getViscousFriction () const
void setViscousFriction (double friction)
 ContactParametersSet ()
 ContactParametersSet (const ContactParametersSet &copy)
 ~ContactParametersSet (void)
Objectcopy () const
 Construct and return a copy of this object.
ContactParametersSet & operator= (const ContactParametersSet &copy)

Protected Attributes

PropertyObj _contactParametersSetProp
ContactParametersSet & _contactParametersSet
PropertyDbl _transitionVelocityProp
double & _transitionVelocity

Detailed Description

This Force subclass implements an elastic foundation contact model.

It places a spring at the center of each face of each ContactMesh it acts on. Those springs interact with all objects (both meshes and other objects) the mesh comes in contact with.

Author:
Peter Eastman

Constructor & Destructor Documentation

OpenSim::ElasticFoundationForce::ElasticFoundationForce (  ) 
OpenSim::ElasticFoundationForce::ElasticFoundationForce ( const ElasticFoundationForce copy  ) 
OpenSim::ElasticFoundationForce::ElasticFoundationForce ( ContactParameters *  params  ) 
OpenSim::ElasticFoundationForce::~ContactParametersSet ( void   ) 

Member Function Documentation

void OpenSim::ElasticFoundationForce::addContactParameters ( ContactParameters *  params  ) 
void OpenSim::ElasticFoundationForce::addGeometry ( const std::string &  name  ) 
OpenSim::ElasticFoundationForce::ContactParameters ( double  stiffness,
double  dissipation,
double  staticFriction,
double  dynamicFriction,
double  viscousFriction 
)
OpenSim::ElasticFoundationForce::ContactParameters ( const ContactParameters &  copy  ) 
OpenSim::ElasticFoundationForce::ContactParameters (  ) 
OpenSim::ElasticFoundationForce::ContactParametersSet ( const ContactParametersSet &  copy  ) 
OpenSim::ElasticFoundationForce::ContactParametersSet (  ) 
Object* OpenSim::ElasticFoundationForce::copy (  )  const [virtual]

Construct and return a copy of this object.

The object is allocated using the new operator, so the caller is responsible for deleting the returned object.

Returns:
Copy of this object.

Reimplemented from OpenSim::Object.

Object* OpenSim::ElasticFoundationForce::copy (  )  const [virtual]

Construct and return a copy of this object.

The object is allocated using the new operator, so the caller is responsible for deleting the returned object.

Returns:
Copy of this object.

Reimplemented from OpenSim::Object.

Object * OpenSim::ElasticFoundationForce::copy (  )  const [virtual]

Copy this force and return a pointer to the copy.

The copy constructor for this class is used.

Returns:
Pointer to a copy of this Force.

Reimplemented from OpenSim::Object.

void OpenSim::ElasticFoundationForce::copyData ( const ContactParameters &  copy  ) 
void OpenSim::ElasticFoundationForce::copyData ( const ElasticFoundationForce copy  ) 
void OpenSim::ElasticFoundationForce::createSystem ( SimTK::MultibodySystem &  system  )  const [virtual]

Create a SimTK::Force which implements this Force.

Reimplemented from OpenSim::ModelComponent.

const ElasticFoundationForce::ContactParametersSet & OpenSim::ElasticFoundationForce::getContactParametersSet (  ) 
double OpenSim::ElasticFoundationForce::getDissipation (  )  const
double OpenSim::ElasticFoundationForce::getDynamicFriction (  )  const
const Array<std::string>& OpenSim::ElasticFoundationForce::getGeometry (  )  const
double OpenSim::ElasticFoundationForce::getStaticFriction (  )  const
double OpenSim::ElasticFoundationForce::getStiffness (  )  const
double OpenSim::ElasticFoundationForce::getTransitionVelocity (  )  const

Get the transition velocity for switching between static and dynamic friction.

double OpenSim::ElasticFoundationForce::getViscousFriction (  )  const
ContactParametersSet& OpenSim::ElasticFoundationForce::operator= ( const ContactParametersSet &  copy  ) 
void OpenSim::ElasticFoundationForce::setDissipation ( double  dissipation  ) 
void OpenSim::ElasticFoundationForce::setDynamicFriction ( double  friction  ) 
void OpenSim::ElasticFoundationForce::setStaticFriction ( double  friction  ) 
void OpenSim::ElasticFoundationForce::setStiffness ( double  stiffness  ) 
void OpenSim::ElasticFoundationForce::setTransitionVelocity ( double  velocity  ) 

Set the transition velocity for switching between static and dynamic friction.

void OpenSim::ElasticFoundationForce::setViscousFriction ( double  friction  ) 
ElasticFoundationForce::ContactParametersSet & OpenSim::ElasticFoundationForce::updContactParametersSet (  ) 
Array<std::string>& OpenSim::ElasticFoundationForce::updGeometry (  ) 

Member Data Documentation

ContactParametersSet& OpenSim::ElasticFoundationForce::_contactParametersSet [protected]

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

Generated on Wed Dec 16 15:03:45 2009 for OpenSim by  doxygen 1.6.1