OpenSim::WeldConstraint Class Reference

A class implementing a Weld Constraint. More...

#include <WeldConstraint.h>

Inheritance diagram for OpenSim::WeldConstraint:
OpenSim::Constraint OpenSim::ModelComponent OpenSim::Object

List of all members.

Public Member Functions

 WeldConstraint ()
 Default constructor.
 WeldConstraint (const std::string &name, OpenSim::Body &body1, SimTK::Vec3 locationInBody1, SimTK::Vec3 orientationInBody1, OpenSim::Body &body2, SimTK::Vec3 locationInBody2, SimTK::Vec3 orientationInBody2)
 WeldConstraint (const std::string &name, OpenSim::Body &body1, SimTK::Transform transformInBody1, OpenSim::Body &body2, SimTK::Transform transformInBody2)
 WeldConstraint (const WeldConstraint &aConstraint)
 Copy constructor.
virtual ~WeldConstraint ()
 Destructor.
virtual Objectcopy () const
 Copy this body and return a pointer to the copy.
WeldConstraintoperator= (const WeldConstraint &aConstraint)
 Assignment operator.
void copyData (const WeldConstraint &aConstraint)
 Copy data members from one WeldConstraint to another.
void setBody1ByName (std::string aBodyName)
 Following methods set attributes of the weld constraint.
void setBody1WeldLocation (SimTK::Vec3 location, SimTK::Vec3 orientation=SimTK::Vec3(0))
void setBody2ByName (std::string aBodyName)
void setBody2WeldLocation (SimTK::Vec3 location, SimTK::Vec3 orientation=SimTK::Vec3(0))
virtual void setContactPointForInducedAccelerations (const SimTK::State &s, SimTK::Vec3 point)
 This method specifies the interface that a constraint must implement in order to be used by the Induced Accelerations Analysis.

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
 Create a SimTK::Constraint::Weld which implements this Weld.

Protected Attributes

PropertyStr _body1NameProp
 Specify first of two bodies welded together by the constraint.
std::string & _body1Name
PropertyStr _body2NameProp
 Specify second of two bodies welded by the constraint.
std::string & _body2Name
PropertyDblVec3 _locationInBody1Prop
 Location of the weld in first body specified in body1 reference frame.
SimTK::Vec3 & _locationInBody1
PropertyDblVec3 _orientationInBody1Prop
 Orientation of the weld axes on body1 specified in body1's reference frame.
SimTK::Vec3 & _orientationInBody1
PropertyDblVec3 _locationInBody2Prop
 Location of the weld in second body specified in body2 reference frame.
SimTK::Vec3 & _locationInBody2
PropertyDblVec3 _orientationInBody2Prop
 Orientation of the weld axes on body2 specified in body2's reference frame.
SimTK::Vec3 & _orientationInBody2
Body_body1
 First body weld constraint joins.
Body_body2
 Second body weld constraint joins.

Friends

class SimbodyEngine

Detailed Description

A class implementing a Weld Constraint.

The underlying Constraint in Simbody is a Constraint::Weld

Author:
Ajay Seth
Version:
1.0

Constructor & Destructor Documentation

WeldConstraint::WeldConstraint (  ) 

Default constructor.

WeldConstraint::WeldConstraint ( const std::string &  name,
OpenSim::Body body1,
SimTK::Vec3  locationInBody1,
SimTK::Vec3  orientationInBody1,
OpenSim::Body body2,
SimTK::Vec3  locationInBody2,
SimTK::Vec3  orientationInBody2 
)
WeldConstraint::WeldConstraint ( const std::string &  name,
OpenSim::Body body1,
SimTK::Transform  transformInBody1,
OpenSim::Body body2,
SimTK::Transform  transformInBody2 
)
WeldConstraint::WeldConstraint ( const WeldConstraint aConstraint  ) 

Copy constructor.

Parameters:
aConstraint WeldConstraint to be copied.
WeldConstraint::~WeldConstraint (  )  [virtual]

Destructor.


Member Function Documentation

Object * WeldConstraint::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::Constraint.

void WeldConstraint::copyData ( const WeldConstraint aConstraint  ) 

Copy data members from one WeldConstraint to another.

Parameters:
aConstraint WeldConstraint to be copied.

Reimplemented from OpenSim::Constraint.

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

Create a SimTK::Constraint::Weld which implements this Weld.

Reimplemented from OpenSim::ModelComponent.

WeldConstraint & WeldConstraint::operator= ( const WeldConstraint aConstraint  ) 

Assignment operator.

Returns:
Reference to this object.

Reimplemented from OpenSim::Constraint.

void WeldConstraint::setBody1ByName ( std::string  aBodyName  ) 

Following methods set attributes of the weld constraint.

void OpenSim::WeldConstraint::setBody1WeldLocation ( SimTK::Vec3  location,
SimTK::Vec3  orientation = SimTK::Vec3(0) 
)
void WeldConstraint::setBody2ByName ( std::string  aBodyName  ) 
void OpenSim::WeldConstraint::setBody2WeldLocation ( SimTK::Vec3  location,
SimTK::Vec3  orientation = SimTK::Vec3(0) 
)
virtual void OpenSim::WeldConstraint::setContactPointForInducedAccelerations ( const SimTK::State &  s,
SimTK::Vec3  point 
) [virtual]

This method specifies the interface that a constraint must implement in order to be used by the Induced Accelerations Analysis.

Reimplemented from OpenSim::Constraint.

void WeldConstraint::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 WeldConstraint.

Reimplemented from OpenSim::Constraint.


Friends And Related Function Documentation

friend class SimbodyEngine [friend]

Reimplemented from OpenSim::Constraint.


Member Data Documentation

First body weld constraint joins.

std::string& OpenSim::WeldConstraint::_body1Name [protected]

Specify first of two bodies welded together by the constraint.

Second body weld constraint joins.

std::string& OpenSim::WeldConstraint::_body2Name [protected]

Specify second of two bodies welded by the constraint.

Location of the weld in first body specified in body1 reference frame.

Location of the weld in second body specified in body2 reference frame.

Orientation of the weld axes on body1 specified in body1's reference frame.

Euler XYZ body-fixed rotation angles are used to express the orientation.

Orientation of the weld axes on body2 specified in body2's reference frame.

Euler XYZ body-fixed rotation angles are used to express the orientation.


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

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