OpenSim::WrapCylinderObst Class Reference

A class implementing a cylinder obstacle for muscle wrapping, based on algorithm presented in Garner & Pandy (2000). More...

#include <WrapCylinderObst.h>

Inheritance diagram for OpenSim::WrapCylinderObst:
OpenSim::WrapObject OpenSim::Object

List of all members.

Public Member Functions

 WrapCylinderObst ()
 Default constructor.
 WrapCylinderObst (const WrapCylinderObst &aWrapCylinderObst)
 Copy constructor.
virtual ~WrapCylinderObst ()
 Destructor.
virtual Objectcopy () const
 Copy this WrapCylinderObst and return a pointer to the copy.
WrapCylinderObstoperator= (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.

Detailed Description

A class implementing a cylinder obstacle for muscle wrapping, based on algorithm presented in Garner & Pandy (2000).

Author:
Brian Garner, derivded from Peter Loan
Version:
0.1

Constructor & Destructor Documentation

WrapCylinderObst::WrapCylinderObst (  ) 

Default constructor.

WrapCylinderObst::WrapCylinderObst ( const WrapCylinderObst aWrapCylinderObst  ) 

Copy constructor.

Parameters:
aWrapCylinderObst WrapCylinderObst to be copied.
WrapCylinderObst::~WrapCylinderObst (  )  [virtual]

Destructor.


Member Function Documentation

Object * WrapCylinderObst::copy (  )  const [virtual]

Copy this WrapCylinderObst and return a pointer to the copy.

The copy constructor for this class is used.

Returns:
Pointer to a copy of this WrapCylinderObst.

Implements OpenSim::WrapObject.

void WrapCylinderObst::copyData ( const WrapCylinderObst aWrapCylinderObst  ) 

Copy data members from one WrapCylinderObst to another.

Parameters:
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.

Returns:
A string containing the dimensions of the wrap object

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).

Returns:
A string representing the type of wrap object

Implements OpenSim::WrapObject.

WrapCylinderObst & WrapCylinderObst::operator= ( const WrapCylinderObst aWrapCylinderObst  ) 

Assignment operator.

Returns:
Reference to this object.

Reimplemented from OpenSim::WrapObject.

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.

Parameters:
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.

Parameters:
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.

Parameters:
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.
Returns:
The status, as a WrapAction enum

Implements OpenSim::WrapObject.


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

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