OpenSim::FreeJoint Class Reference

A class implementing a Free joint. More...

#include <FreeJoint.h>

Inheritance diagram for OpenSim::FreeJoint:
OpenSim::Joint OpenSim::ModelComponent OpenSim::Object

List of all members.

Public Member Functions

 FreeJoint ()
 Default constructor.
 FreeJoint (const std::string &name, Body &parent, SimTK::Vec3 locationInParent, SimTK::Vec3 orientationInParent, Body &body, SimTK::Vec3 locationInBody, SimTK::Vec3 orientationInBody, bool useEulerAngles=true, bool reverse=false)
 Convenience Constructor.
 FreeJoint (const FreeJoint &aJoint)
 Copy constructor.
virtual ~FreeJoint ()
 Destructor.
virtual Objectcopy () const
 Copy this body and return a pointer to the copy.
FreeJointoperator= (const FreeJoint &aJoint)
 Assignment operator.
void copyData (const FreeJoint &aJoint)
 Copy data members from one FreeJoint to another.
virtual void setup (Model &aModel)
 Perform some set up functions that happen after the object has been deserialized or copied.
virtual int numCoordinates () const
virtual void scale (const ScaleSet &aScaleSet)
 Scale a joint based on XYZ scale factors for the bodies.
 OPENSIM_DECLARE_DERIVED (FreeJoint, Joint)

Protected Member Functions

void createSystem (SimTK::MultibodySystem &system) const
 This is called when a SimTK System is being created for the Model.
void initState (SimTK::State &s) const
 This is called after a SimTK System and State have been created for the Model.
void setDefaultsFromState (const SimTK::State &state)
 Set all default values for this object to match those in a specified State.

Protected Attributes

PropertyBool _useEulerAnglesProp
 Flag to use Euler angles to parameterize rotation of the body.
bool & _useEulerAngles

Detailed Description

A class implementing a Free joint.

The underlying implementation in Simbody is a MobilizedBody::Free.

Author:
Ajay Seth
Version:
1.0

Constructor & Destructor Documentation

FreeJoint::FreeJoint (  ) 

Default constructor.

FreeJoint::FreeJoint ( const std::string &  name,
OpenSim::Body parent,
SimTK::Vec3  locationInParent,
SimTK::Vec3  orientationInParent,
OpenSim::Body body,
SimTK::Vec3  locationInBody,
SimTK::Vec3  orientationInBody,
bool  useEulerAngles = true,
bool  reverse = false 
)

Convenience Constructor.

FreeJoint::FreeJoint ( const FreeJoint aJoint  ) 

Copy constructor.

Parameters:
aJoint FreeJoint to be copied.
FreeJoint::~FreeJoint (  )  [virtual]

Destructor.


Member Function Documentation

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

Copy this body and return a pointer to the copy.

The copy constructor for this class is used.

Returns:
Pointer to a copy of this OpenSim::Body.

Implements OpenSim::Joint.

void FreeJoint::copyData ( const FreeJoint aJoint  ) 

Copy data members from one FreeJoint to another.

Parameters:
aJoint FreeJoint to be copied.

Reimplemented from OpenSim::Joint.

void FreeJoint::createSystem ( SimTK::MultibodySystem &  system  )  const [protected, virtual]

This is called when a SimTK System is being created for the Model.

It should be overridden to add appropriate elements to the System corresponding to this object.

Parameters:
system the System being created

Reimplemented from OpenSim::Joint.

void FreeJoint::initState ( SimTK::State &  state  )  const [protected, virtual]

This is called after a SimTK System and State have been created for the Model.

It may be overridden to set initial values of state variables.

Parameters:
state the State to initialize

Reimplemented from OpenSim::Joint.

virtual int OpenSim::FreeJoint::numCoordinates (  )  const [inline, virtual]

Implements OpenSim::Joint.

OpenSim::FreeJoint::OPENSIM_DECLARE_DERIVED ( FreeJoint  ,
Joint   
)
FreeJoint & FreeJoint::operator= ( const FreeJoint aJoint  ) 

Assignment operator.

Returns:
Reference to this object.

Reimplemented from OpenSim::Joint.

void FreeJoint::scale ( const ScaleSet aScaleSet  )  [virtual]

Scale a joint based on XYZ scale factors for the bodies.

Parameters:
aScaleSet Set of XYZ scale factors for the bodies.

Reimplemented from OpenSim::Joint.

void FreeJoint::setDefaultsFromState ( const SimTK::State &  state  )  [protected, virtual]

Set all default values for this object to match those in a specified State.

It should be overridden to set any default values defined by each subclass.

Parameters:
state the State from which to take values that should become the defaults for this object

Reimplemented from OpenSim::Joint.

void FreeJoint::setup ( Model aModel  )  [virtual]

Perform some set up functions that happen after the object has been deserialized or copied.

Parameters:
aEngine dynamics engine containing this FreeJoint.

Reimplemented from OpenSim::Joint.


Member Data Documentation

Flag to use Euler angles to parameterize rotation of the body.


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

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