#include <PointToPointActuator.h>
Public Member Functions | |
PointToPointActuator (std::string aBodyNameA="", std::string abodyNameB="") | |
PointToPointActuator (const PointToPointActuator &aPointToPointActuator) | |
Copy constructor. | |
virtual | ~PointToPointActuator () |
Destructor. | |
virtual Object * | copy () const |
Copy this actuator and return a pointer to the copy. | |
void | copyData (const PointToPointActuator &aPointToPointActuator) |
Copy the member data of the specified actuator. | |
PointToPointActuator & | operator= (const PointToPointActuator &aGenForce) |
Assignment operator. | |
void | setBodyA (Body *aBody) |
Set the generalized Body to which the Body actuator is applied. | |
void | setBodyB (Body *aBody) |
Set the generalized Body to which the equal and opposite Body actuation is applied. | |
Body * | getBodyA () const |
Get the generalized Body to which the Body actuator is applied. | |
Body * | getBodyB () const |
Get the generalized Body to which the equal and opposite Body actuation is applied. | |
void | setPointA (SimTK::Vec3 aPosition) |
SimTK::Vec3 | getPointA () const |
void | setPointB (SimTK::Vec3 aPosition) |
SimTK::Vec3 | getPointB () const |
void | setPointsAreGlobal (bool aBool) |
bool | getPointsAreGlobal () |
void | setOptimalForce (double aOptimalForce) |
Set the optimal force of the actuator. | |
double | getOptimalForce () const |
Get the optimal force of the actuator. | |
double | getStress (const SimTK::State &s) const |
Get the stress of the force. | |
virtual void | computeForce (const SimTK::State &state, SimTK::Vector_< SimTK::SpatialVec > &bodyForces, SimTK::Vector &mobilityForces) const |
Apply the actuator force to BodyA and BodyB. | |
virtual double | computeActuation (const SimTK::State &s) const |
Compute all quantities necessary for applying the actuator force to the model. | |
virtual bool | check () const |
Check that this point actuator actuator is valid. | |
void | setup (Model &aModel) |
setup sets the actual Body references _bodyA and _bodyB | |
virtual OpenSim::Array < std::string > | getRecordLabels () const |
Methods to query a Force for the value actually applied during simulation The names of the quantities (column labels) is returned by this first function getRecordLabels(). | |
virtual OpenSim::Array< double > | getRecordValues (const SimTK::State &state) const |
Given SimTK::State object extract all the values necessary to report forces, application location frame, etc. | |
virtual void | updateFromXMLNode () |
Update this object based on its XML node. | |
OPENSIM_DECLARE_DERIVED (PointToPointActuator, Actuator) | |
Protected Attributes | |
PropertyStr | _propBodyNameA |
Name of Body to which the Body actuator is applied. | |
PropertyStr | _propBodyNameB |
Name of Body to which the equal and opposite torque is applied. | |
PropertyDblVec3 | _propPointA |
Point of application on each body. | |
PropertyDblVec3 | _propPointB |
PropertyBool | _propPointsAreGlobal |
bool to indicate whether or not the points are expressed in global frame | |
PropertyDbl | _propOptimalForce |
Optimal force. | |
std::string & | _bodyNameA |
std::string & | _bodyNameB |
SimTK::Vec3 & | _pointA |
force points of application: assumed to be expressed in the frame of _bodyA and _bodyB unless _pointsAreGlobal is true. | |
SimTK::Vec3 & | _pointB |
bool & | _pointsAreGlobal |
double & | _optimalForce |
Optimal force. | |
Body * | _bodyA |
Corresponding Body to which the force actuator is applied. | |
Body * | _bodyB |
Corresponding Body to which the equal and force torque is applied. |
OpenSim::PointToPointActuator::PointToPointActuator | ( | std::string | aBodyNameA = "" , |
|
std::string | abodyNameB = "" | |||
) |
PointToPointActuator::PointToPointActuator | ( | const PointToPointActuator & | anActuator | ) |
Copy constructor.
anActuator | actuator to be copied. |
PointToPointActuator::~PointToPointActuator | ( | ) | [virtual] |
Destructor.
bool PointToPointActuator::check | ( | ) | const [virtual] |
Check that this point actuator actuator is valid.
double PointToPointActuator::computeActuation | ( | const SimTK::State & | s | ) | const [virtual] |
Compute all quantities necessary for applying the actuator force to the model.
s | current SimTK::State |
Implements OpenSim::Actuator_.
void PointToPointActuator::computeForce | ( | const SimTK::State & | s, | |
SimTK::Vector_< SimTK::SpatialVec > & | bodyForces, | |||
SimTK::Vector & | generalizedForces | |||
) | const [virtual] |
Apply the actuator force to BodyA and BodyB.
s | current SimTK::State |
Reimplemented from OpenSim::Force.
Object * PointToPointActuator::copy | ( | ) | const [virtual] |
Copy this actuator and return a pointer to the copy.
The copy constructor for this class is used.
Implements OpenSim::Actuator.
void PointToPointActuator::copyData | ( | const PointToPointActuator & | aPointToPointActuator | ) |
Copy the member data of the specified actuator.
aPointToPointActuator | PointToPointActuator providing the data to be copied |
Reimplemented from OpenSim::Force.
Body * PointToPointActuator::getBodyA | ( | ) | const |
Body * PointToPointActuator::getBodyB | ( | ) | const |
double PointToPointActuator::getOptimalForce | ( | ) | const [virtual] |
SimTK::Vec3 OpenSim::PointToPointActuator::getPointA | ( | ) | const [inline] |
SimTK::Vec3 OpenSim::PointToPointActuator::getPointB | ( | ) | const [inline] |
bool OpenSim::PointToPointActuator::getPointsAreGlobal | ( | ) | [inline] |
OpenSim::Array< std::string > PointToPointActuator::getRecordLabels | ( | ) | const [virtual] |
Methods to query a Force for the value actually applied during simulation The names of the quantities (column labels) is returned by this first function getRecordLabels().
Reimplemented from OpenSim::Force.
OpenSim::Array< double > PointToPointActuator::getRecordValues | ( | const SimTK::State & | state | ) | const [virtual] |
Given SimTK::State object extract all the values necessary to report forces, application location frame, etc.
used in conjunction with getRecordLabels and should return same size Array
Reimplemented from OpenSim::Force.
double PointToPointActuator::getStress | ( | const SimTK::State & | s | ) | const [virtual] |
OpenSim::PointToPointActuator::OPENSIM_DECLARE_DERIVED | ( | PointToPointActuator | , | |
Actuator | ||||
) |
PointToPointActuator & PointToPointActuator::operator= | ( | const PointToPointActuator & | aPointToPointActuator | ) |
Assignment operator.
Reimplemented from OpenSim::Actuator.
void PointToPointActuator::setBodyA | ( | Body * | aBody | ) |
void PointToPointActuator::setBodyB | ( | Body * | aBody | ) |
void PointToPointActuator::setOptimalForce | ( | double | aOptimalForce | ) |
Set the optimal force of the actuator.
aOptimalForce | Optimal force. |
void OpenSim::PointToPointActuator::setPointA | ( | SimTK::Vec3 | aPosition | ) | [inline] |
void OpenSim::PointToPointActuator::setPointB | ( | SimTK::Vec3 | aPosition | ) | [inline] |
void OpenSim::PointToPointActuator::setPointsAreGlobal | ( | bool | aBool | ) | [inline] |
void PointToPointActuator::setup | ( | Model & | aModel | ) | [virtual] |
setup sets the actual Body references _bodyA and _bodyB
Reimplemented from OpenSim::Actuator.
void PointToPointActuator::updateFromXMLNode | ( | ) | [virtual] |
Update this object based on its XML node.
This method simply calls Object::updateFromXMLNode() and then calls a few methods in this class to ensure that variable members have been set in a consistent manner.
Reimplemented from OpenSim::Actuator.
Body* OpenSim::PointToPointActuator::_bodyA [protected] |
Corresponding Body to which the force actuator is applied.
Body* OpenSim::PointToPointActuator::_bodyB [protected] |
Corresponding Body to which the equal and force torque is applied.
std::string& OpenSim::PointToPointActuator::_bodyNameA [protected] |
std::string& OpenSim::PointToPointActuator::_bodyNameB [protected] |
double& OpenSim::PointToPointActuator::_optimalForce [protected] |
Optimal force.
SimTK::Vec3& OpenSim::PointToPointActuator::_pointA [protected] |
force points of application: assumed to be expressed in the frame of _bodyA and _bodyB unless _pointsAreGlobal is true.
If _pointsAreGlobal is true, _pointA and _pointB are assumed to be expressed in the ground body
SimTK::Vec3& OpenSim::PointToPointActuator::_pointB [protected] |
bool& OpenSim::PointToPointActuator::_pointsAreGlobal [protected] |
Name of Body to which the equal and opposite torque is applied.
Optimal force.
Point of application on each body.
bool to indicate whether or not the points are expressed in global frame