A class implementing a Bushing Force. More...
#include <BushingForce.h>
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 Object * | copy () const |
Copy this body and return a pointer to the copy. | |
BushingForce & | operator= (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 |
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
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.
aForce | BushingForce to be copied. |
BushingForce::~BushingForce | ( | ) | [virtual] |
Destructor.
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.
Implements OpenSim::Force.
void BushingForce::copyData | ( | const BushingForce & | aForce | ) |
Copy data members from one BushingForce to another.
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 | ) |
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.
aModel | OpenSim model containing this BushingForce. |
Reimplemented from OpenSim::Force.
std::string& OpenSim::BushingForce::_body1Name [protected] |
PropertyStr OpenSim::BushingForce::_body1NameProp [protected] |
Specify first of two bodies held together by the bushing.
std::string& OpenSim::BushingForce::_body2Name [protected] |
PropertyStr OpenSim::BushingForce::_body2NameProp [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.
SimTK::Vec3& OpenSim::BushingForce::_orientationInBody1 [protected] |
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.
SimTK::Vec3& OpenSim::BushingForce::_orientationInBody2 [protected] |
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.