A class implementing an ellipsoid for muscle wrapping. More...
#include <WrapEllipsoid.h>
Public Member Functions | |
WrapEllipsoid () | |
Default constructor. | |
WrapEllipsoid (const WrapEllipsoid &aWrapEllipsoid) | |
Copy constructor. | |
virtual | ~WrapEllipsoid () |
Destructor. | |
virtual Object * | copy () const |
Copy this WrapEllipsoid and return a pointer to the copy. | |
WrapEllipsoid & | operator= (const WrapEllipsoid &aWrapEllipsoid) |
Assignment operator. | |
void | copyData (const WrapEllipsoid &aWrapEllipsoid) |
Copy data members from one WrapEllipsoid to another. | |
virtual const char * | getWrapTypeName () const |
Get the name of the type of wrap object ("ellipsoid" in this case). | |
virtual std::string | getDimensionsString () const |
Get a string holding the dimensions definition that SIMM would use to describe this object. | |
SimTK::Vec3 | getRadii () const |
Get the radii of the ellipsoid. | |
virtual void | scale (const SimTK::Vec3 &aScaleFactors) |
Scale the ellipsoid's dimensions. | |
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 ellipsoid. | |
OPENSIM_DECLARE_DERIVED (WrapEllipsoid, WrapObject) | |
Protected Member Functions | |
void | setupProperties () |
Connect properties to local pointers. | |
Protected Attributes | |
PropertyDblArray | _dimensionsProp |
Array< double > & | _dimensions |
A class implementing an ellipsoid for muscle wrapping.
WrapEllipsoid::WrapEllipsoid | ( | ) |
Default constructor.
WrapEllipsoid::WrapEllipsoid | ( | const WrapEllipsoid & | aWrapEllipsoid | ) |
Copy constructor.
aWrapEllipsoid | WrapEllipsoid to be copied. |
WrapEllipsoid::~WrapEllipsoid | ( | ) | [virtual] |
Destructor.
Object * WrapEllipsoid::copy | ( | ) | const [virtual] |
Copy this WrapEllipsoid and return a pointer to the copy.
The copy constructor for this class is used.
Implements OpenSim::WrapObject.
void WrapEllipsoid::copyData | ( | const WrapEllipsoid & | aWrapEllipsoid | ) |
Copy data members from one WrapEllipsoid to another.
aWrapEllipsoid | WrapEllipsoid to be copied. |
Reimplemented from OpenSim::WrapObject.
string WrapEllipsoid::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.
SimTK::Vec3 WrapEllipsoid::getRadii | ( | ) | const |
Get the radii of the ellipsoid.
const char * WrapEllipsoid::getWrapTypeName | ( | ) | const [virtual] |
Get the name of the type of wrap object ("ellipsoid" in this case).
Implements OpenSim::WrapObject.
OpenSim::WrapEllipsoid::OPENSIM_DECLARE_DERIVED | ( | WrapEllipsoid | , | |
WrapObject | ||||
) |
WrapEllipsoid & WrapEllipsoid::operator= | ( | const WrapEllipsoid & | aWrapEllipsoid | ) |
void WrapEllipsoid::scale | ( | const SimTK::Vec3 & | aScaleFactors | ) | [virtual] |
Scale the ellipsoid's dimensions.
The base class scales the origin of the ellipsoid in the body's reference frame.
aScaleFactors | The XYZ scale factors. |
Reimplemented from OpenSim::WrapObject.
void WrapEllipsoid::setup | ( | Model & | aModel, | |
OpenSim::Body & | aBody | |||
) | [virtual] |
Perform some set up functions that happen after the object has been deserialized or copied.
aModel |
Reimplemented from OpenSim::WrapObject.
void WrapEllipsoid::setupProperties | ( | void | ) | [protected] |
Connect properties to local pointers.
Reimplemented from OpenSim::WrapObject.
int WrapEllipsoid::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 ellipsoid.
aPoint1 | One end of the line segment | |
aPoint2 | The other end of the line segment | |
aPathWrap | An object holding the parameters for this line/ellipsoid pairing | |
aWrapResult | The result of the wrapping (tangent points, etc.) | |
aFlag | A flag for indicating errors, etc. |
Implements OpenSim::WrapObject.
Array<double>& OpenSim::WrapEllipsoid::_dimensions [protected] |