OpenSim::PinJoint Class Reference

A class implementing an Pin joint. More...

#include <PinJoint.h>

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

List of all members.

Public Member Functions

 PinJoint ()
 Pin has no additional properties.
 PinJoint (const PinJoint &aJoint)
 Copy constructor.
 PinJoint (const std::string &name, OpenSim::Body &parent, SimTK::Vec3 locationInParent, SimTK::Vec3 orientationInParent, OpenSim::Body &body, SimTK::Vec3 locationInBody, SimTK::Vec3 orientationInBody, bool reverse=false)
 Convenience Constructor.
virtual ~PinJoint ()
 Destructor.
virtual Objectcopy () const
 Copy this body and return a pointer to the copy.
PinJointoperator= (const PinJoint &aJoint)
 Assignment operator.
void copyData (const PinJoint &aJoint)
 Copy data members from one PinJoint to another.
virtual int numCoordinates () const
virtual void scale (const ScaleSet &aScaleSet)
 Scale a joint based on XYZ scale factors for the bodies.

Protected Member Functions

virtual void setup (Model &aModel)
 Perform some set up functions that happen after the object has been deserialized or copied.
virtual void createSystem (SimTK::MultibodySystem &system) const
 This is called when a SimTK System is being created for the Model.

Detailed Description

A class implementing an Pin joint.

The underlying implementation in Simbody is a MobilizedBody::Pin. Pin provides one DoF about the common z-axis of the joint frames (not body) in the parent and body.

Author:
Ajay Seth
Version:
1.0

Constructor & Destructor Documentation

PinJoint::PinJoint (  ) 

Pin has no additional properties.

Default constructor.

PinJoint::PinJoint ( const PinJoint aJoint  ) 

Copy constructor.

Parameters:
aJoint PinJoint to be copied.
PinJoint::PinJoint ( const std::string &  name,
OpenSim::Body parent,
SimTK::Vec3  locationInParent,
SimTK::Vec3  orientationInParent,
OpenSim::Body body,
SimTK::Vec3  locationInBody,
SimTK::Vec3  orientationInBody,
bool  reverse = false 
)

Convenience Constructor.

PinJoint::~PinJoint (  )  [virtual]

Destructor.


Member Function Documentation

Object * PinJoint::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 PinJoint::copyData ( const PinJoint aJoint  ) 

Copy data members from one PinJoint to another.

Parameters:
aJoint PinJoint to be copied.

Reimplemented from OpenSim::Joint.

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

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

It must be implemented to add appropriate elements to the System corresponding to this object. Methods for adding modeling options, state variables and their derivatives, discrete variables, as well must be called with createSystem() only.

Parameters:
system the System being created

Reimplemented from OpenSim::Joint.

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

Implements OpenSim::Joint.

PinJoint & PinJoint::operator= ( const PinJoint aJoint  ) 

Assignment operator.

Returns:
Reference to this object.

Reimplemented from OpenSim::Joint.

void PinJoint::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 PinJoint::setup ( Model aModel  )  [protected, virtual]

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

Parameters:
aModel OpenSim model containing this PinJoint.

Reimplemented from OpenSim::Joint.


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

Generated on Sun Sep 25 00:20:02 2011 for OpenSim by  doxygen 1.6.1