OpenSim::WrapEllipsoid Class Reference

A class implementing an ellipsoid for muscle wrapping. More...

#include <WrapEllipsoid.h>

Inheritance diagram for OpenSim::WrapEllipsoid:
OpenSim::WrapObject OpenSim::Object

List of all members.

Public Member Functions

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

Detailed Description

A class implementing an ellipsoid for muscle wrapping.

Author:
Peter Loan
Version:
1.0

Constructor & Destructor Documentation

WrapEllipsoid::WrapEllipsoid (  ) 

Default constructor.

WrapEllipsoid::WrapEllipsoid ( const WrapEllipsoid aWrapEllipsoid  ) 

Copy constructor.

Parameters:
aWrapEllipsoid WrapEllipsoid to be copied.
WrapEllipsoid::~WrapEllipsoid (  )  [virtual]

Destructor.


Member Function Documentation

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

Copy this WrapEllipsoid and return a pointer to the copy.

The copy constructor for this class is used.

Returns:
Pointer to a copy of this WrapEllipsoid.

Implements OpenSim::WrapObject.

void WrapEllipsoid::copyData ( const WrapEllipsoid aWrapEllipsoid  ) 

Copy data members from one WrapEllipsoid to another.

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

Returns:
A string containing the dimensions of the wrap object

Reimplemented from OpenSim::WrapObject.

const char * WrapEllipsoid::getWrapTypeName (  )  const [virtual]

Get the name of the type of wrap object ("ellipsoid" in this case).

Returns:
A string representing the type of wrap object

Implements OpenSim::WrapObject.

OpenSim::WrapEllipsoid::OPENSIM_DECLARE_DERIVED ( WrapEllipsoid  ,
WrapObject   
)
WrapEllipsoid & WrapEllipsoid::operator= ( const WrapEllipsoid aWrapEllipsoid  ) 

Assignment operator.

Returns:
Reference to this object.

Reimplemented from OpenSim::WrapObject.

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.

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

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

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

Implements OpenSim::WrapObject.


Member Data Documentation


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