Constraint::ConstantOrientation Class Reference

#include <Constraint.h>

Inheritance diagram for Constraint::ConstantOrientation:

Constraint PIMPLHandle

List of all members.


Detailed Description

Three constraint equations.

This constraint enforces that a reference frame fixed to one body (the "follower body") must have the same orientation as another reference frame fixed on another body (the "base body"). That is, we have three constraint equations that collectively prohibit any relative rotation between the base and follower. The run time equations we use are just three "constant angle" constraints enforcing perpendicularity between follower's x,y,z axes with the base y,z,x axes respectively.

This constraint is enforced by an internal (non-working) torque vector applied equal and opposite on each body.

TODO: The assembly condition is not the same as the run-time constraint, because the perpendicularity conditions can be satisfied with antiparallel axes. For assembly we must have additional (redundant) constraints requiring parallel axes.

Public Member Functions

 ConstantOrientation (MobilizedBody &baseBody_B, const Rotation &defaultRB, MobilizedBody &followerBody_F, const Rotation &defaultRF)
ConstantOrientationsetDefaultBaseRotation (const Rotation &)
ConstantOrientationsetDefaultFollowerRotation (const Rotation &)
MobilizedBodyIndex getBaseMobilizedBodyIndex () const
MobilizedBodyIndex getFollowerMobilizedBodyIndex () const
const RotationgetDefaultBaseRotation () const
const RotationgetDefaultFollowerRotation () const
const RotationgetBaseRotation (const State &) const
const RotationgetFollowerRotation (const State &) const
Vec3 getPositionErrors (const State &) const
Vec3 getVelocityErrors (const State &) const
Vec3 getAccelerationErrors (const State &) const
Vec3 getMultipliers (const State &) const
Vec3 getTorqueOnFollowerBody (const State &) const
 SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (ConstantOrientation, ConstantOrientationImpl, Constraint)


Constructor & Destructor Documentation

ConstantOrientation ( MobilizedBody baseBody_B,
const Rotation defaultRB,
MobilizedBody followerBody_F,
const Rotation defaultRF 
)


Member Function Documentation

ConstantOrientation& setDefaultBaseRotation ( const Rotation  ) 

ConstantOrientation& setDefaultFollowerRotation ( const Rotation  ) 

MobilizedBodyIndex getBaseMobilizedBodyIndex (  )  const

MobilizedBodyIndex getFollowerMobilizedBodyIndex (  )  const

const Rotation& getDefaultBaseRotation (  )  const

const Rotation& getDefaultFollowerRotation (  )  const

const Rotation& getBaseRotation ( const State  )  const

const Rotation& getFollowerRotation ( const State  )  const

Vec3 getPositionErrors ( const State  )  const

Vec3 getVelocityErrors ( const State  )  const

Vec3 getAccelerationErrors ( const State  )  const

Vec3 getMultipliers ( const State  )  const

Vec3 getTorqueOnFollowerBody ( const State  )  const

SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS ( ConstantOrientation  ,
ConstantOrientationImpl  ,
Constraint   
)


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

Generated on Fri Sep 26 07:44:31 2008 for SimTKcore by  doxygen 1.5.6