A class implementing a cylinder obstacle for muscle wrapping, based on algorithm presented in Garner & Pandy (2000). More...
#include <WrapCylinderObst.h>
Public Member Functions | |
WrapCylinderObst () | |
Default constructor. | |
WrapCylinderObst (const WrapCylinderObst &aWrapCylinderObst) | |
Copy constructor. | |
virtual | ~WrapCylinderObst () |
Destructor. | |
virtual Object * | copy () const |
Copy this WrapCylinderObst and return a pointer to the copy. | |
WrapCylinderObst & | operator= (const WrapCylinderObst &aWrapCylinderObst) |
Assignment operator. | |
void | copyData (const WrapCylinderObst &aWrapCylinderObst) |
Copy data members from one WrapCylinderObst to another. | |
double | getRadius () const |
void | setRadius (double aRadius) |
double | getLength () const |
void | setLength (double aLength) |
int | getWrapDirection () const |
virtual const char * | getWrapTypeName () const |
Get the name of the type of wrap object ("cylinderObst" in this case). | |
virtual std::string | getDimensionsString () const |
Get a string holding the dimensions definition that SIMM would use to describe this object. | |
virtual void | scale (const SimTK::Vec3 &aScaleFactors) |
Scale the wrap object by aScaleFactors. | |
virtual void | setup (Model &aModel, OpenSim::Body &aBody) |
Perform some set up functions that happen after the object has been deserialized or copied. | |
virtual int | wrapLine (const SimTK::State &s, SimTK::Vec3 &aPoint1, SimTK::Vec3 &aPoint2, const PathWrap &aPathWrap, WrapResult &aWrapResult, bool &aFlag) const |
Calculate the wrapping of one line segment over the cylinder oriented parallel to z-axis. | |
Protected Member Functions | |
void | setupProperties () |
Connect properties to local pointers. |
A class implementing a cylinder obstacle for muscle wrapping, based on algorithm presented in Garner & Pandy (2000).
WrapCylinderObst::WrapCylinderObst | ( | ) |
Default constructor.
WrapCylinderObst::WrapCylinderObst | ( | const WrapCylinderObst & | aWrapCylinderObst | ) |
Copy constructor.
aWrapCylinderObst | WrapCylinderObst to be copied. |
WrapCylinderObst::~WrapCylinderObst | ( | ) | [virtual] |
Destructor.
Object * WrapCylinderObst::copy | ( | ) | const [virtual] |
Copy this WrapCylinderObst and return a pointer to the copy.
The copy constructor for this class is used.
Implements OpenSim::WrapObject.
void WrapCylinderObst::copyData | ( | const WrapCylinderObst & | aWrapCylinderObst | ) |
Copy data members from one WrapCylinderObst to another.
aWrapCylinderObst | WrapCylinderObst to be copied. |
Reimplemented from OpenSim::WrapObject.
string WrapCylinderObst::getDimensionsString | ( | ) | const [virtual] |
Get a string holding the dimensions definition that SIMM would use to describe this object.
This is a rather ugly convenience function for outputting SIMM joint files.
Reimplemented from OpenSim::WrapObject.
double OpenSim::WrapCylinderObst::getLength | ( | ) | const [inline] |
double OpenSim::WrapCylinderObst::getRadius | ( | ) | const [inline] |
int OpenSim::WrapCylinderObst::getWrapDirection | ( | ) | const [inline] |
const char * WrapCylinderObst::getWrapTypeName | ( | ) | const [virtual] |
Get the name of the type of wrap object ("cylinderObst" in this case).
Implements OpenSim::WrapObject.
WrapCylinderObst & WrapCylinderObst::operator= | ( | const WrapCylinderObst & | aWrapCylinderObst | ) |
virtual void OpenSim::WrapCylinderObst::scale | ( | const SimTK::Vec3 & | aScaleFactors | ) | [inline, virtual] |
Scale the wrap object by aScaleFactors.
This base class method scales only the _translation property, which is a local member. The derived classes are expected to scale the object itself, because they contain the object's dimensions.
aScaleFactors | The XYZ scale factors. |
Reimplemented from OpenSim::WrapObject.
void OpenSim::WrapCylinderObst::setLength | ( | double | aLength | ) | [inline] |
void OpenSim::WrapCylinderObst::setRadius | ( | double | aRadius | ) | [inline] |
void WrapCylinderObst::setup | ( | Model & | aModel, | |
OpenSim::Body & | aBody | |||
) | [virtual] |
Perform some set up functions that happen after the object has been deserialized or copied.
aModel | pointer to OpenSim model. |
Reimplemented from OpenSim::WrapObject.
void WrapCylinderObst::setupProperties | ( | void | ) | [protected] |
Connect properties to local pointers.
Reimplemented from OpenSim::WrapObject.
int WrapCylinderObst::wrapLine | ( | const SimTK::State & | s, | |
SimTK::Vec3 & | aPoint1, | |||
SimTK::Vec3 & | aPoint2, | |||
const PathWrap & | aPathWrap, | |||
WrapResult & | aWrapResult, | |||
bool & | aFlag | |||
) | const [virtual] |
Calculate the wrapping of one line segment over the cylinder oriented parallel to z-axis.
aPointP | One end of the line segment, already expressed in cylinder frame | |
aPointS | The other end of the line segment, already expressed in cylinder frame | |
aPathWrap | An object holding the parameters for this line/cylinder pairing | |
aWrapResult | The result of the wrapping (tangent points, etc.) | |
aFlag | A flag for indicating errors, etc. |
Implements OpenSim::WrapObject.