Simbody
Public Member Functions

SimTK::MobilizedBody::Free Class Reference

Unrestricted motion for a rigid body (six mobilities). More...

#include <MobilizedBody.h>

Inheritance diagram for SimTK::MobilizedBody::Free:

List of all members.

Public Member Functions

 Free (Direction=Forward)
 Free (MobilizedBody &parent, const Body &, Direction=Forward)
 By default the parent body frame and the body's own frame are used as the inboard and outboard mobilizer frames, resp.
 Free (MobilizedBody &parent, const Transform &inbFrame, const Body &, const Transform &outbFrame, Direction=Forward)
 Use this constructor to specify mobilizer frames which are not coincident with the body frames.
FreeaddBodyDecoration (const Transform &X_BD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the new (outboard) body's reference frame B, or to the outboard mobilizer frame M attached to body B, or to the inboard mobilizer frame F attached to the parent body P.
FreeaddOutboardDecoration (const Transform &X_MD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the outboard mobilizer frame M attached to body B.
FreeaddInboardDecoration (const Transform &X_FD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the inboard mobilizer frame F attached to the parent body P.
FreesetDefaultInboardFrame (const Transform &X_PF)
 Change this mobilizer's frame F on the parent body P.
FreesetDefaultOutboardFrame (const Transform &X_BM)
 Change this mobilizer's frame M fixed on this (the outboard) body B.
FreesetDefaultTranslation (const Vec3 &)
FreesetDefaultQuaternion (const Quaternion &)
FreesetDefaultRotation (const Rotation &)
FreesetDefaultTransform (const Transform &)
const Vec3getDefaultTranslation () const
const QuaterniongetDefaultQuaternion () const
Rotation getDefaultRotation () const
Transform getDefaultTransform () const
const Vec7getDefaultQ () const
FreesetDefaultQ (const Vec7 &q)
const Vec7getQ (const State &) const
const Vec7getQDot (const State &) const
const Vec7getQDotDot (const State &) const
const Vec6getU (const State &) const
const Vec6getUDot (const State &) const
void setQ (State &, const Vec7 &) const
void setU (State &, const Vec6 &) const
const Vec7getMyPartQ (const State &, const Vector &qlike) const
const Vec6getMyPartU (const State &, const Vector &ulike) const
Vec7updMyPartQ (const State &, Vector &qlike) const
Vec6updMyPartU (const State &, Vector &ulike) const
 SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (Free, FreeImpl, MobilizedBody)

Detailed Description

Unrestricted motion for a rigid body (six mobilities).

Orientation is modeled the same as for the Orientation mobilizer, that is, using quaternions to avoid singularities. A modeling option exists to have the joint modeled with a 1-2-3 body fixed Euler sequence like a Gimbal mobilizer. Translational generalized coordinates are x,y,z translations along the F (inboard) axes.


Constructor & Destructor Documentation

SimTK::MobilizedBody::Free::Free ( Direction  = Forward) [explicit]
SimTK::MobilizedBody::Free::Free ( MobilizedBody parent,
const Body ,
Direction  = Forward 
)

By default the parent body frame and the body's own frame are used as the inboard and outboard mobilizer frames, resp.

SimTK::MobilizedBody::Free::Free ( MobilizedBody parent,
const Transform inbFrame,
const Body ,
const Transform outbFrame,
Direction  = Forward 
)

Use this constructor to specify mobilizer frames which are not coincident with the body frames.


Member Function Documentation

Free& SimTK::MobilizedBody::Free::addBodyDecoration ( const Transform X_BD,
const DecorativeGeometry g 
) [inline]

Add decorative geometry specified relative to the new (outboard) body's reference frame B, or to the outboard mobilizer frame M attached to body B, or to the inboard mobilizer frame F attached to the parent body P.

Note that the body itself may already have had some decorative geometry on it when it was first put into this MobilizedBody; in that case this just adds more.

Reimplemented from SimTK::MobilizedBody.

Free& SimTK::MobilizedBody::Free::addOutboardDecoration ( const Transform X_MD,
const DecorativeGeometry  
) [inline]

Add decorative geometry specified relative to the outboard mobilizer frame M attached to body B.

If body B already has decorative geometry on it, this just adds some more.

Reimplemented from SimTK::MobilizedBody.

Free& SimTK::MobilizedBody::Free::addInboardDecoration ( const Transform X_FD,
const DecorativeGeometry  
) [inline]

Add decorative geometry specified relative to the inboard mobilizer frame F attached to the parent body P.

If body P already has decorative geometry on it, this just adds some more.

Reimplemented from SimTK::MobilizedBody.

Free& SimTK::MobilizedBody::Free::setDefaultInboardFrame ( const Transform X_PF) [inline]

Change this mobilizer's frame F on the parent body P.

Calling this method invalidates the MobilizedBody's topology, so the containing matter subsystem's realizeTopology() method must be called again. A reference to this MobilizedBody is returned so that this can be chained like an assignment operator.

Reimplemented from SimTK::MobilizedBody.

Free& SimTK::MobilizedBody::Free::setDefaultOutboardFrame ( const Transform X_BM) [inline]

Change this mobilizer's frame M fixed on this (the outboard) body B.

Calling this method invalidates the MobilizedBody's topology, so the containing matter subsystem's realizeTopology() method must be called again. A reference to this MobilizedBody is returned so that this can be chained like an assignment operator.

Reimplemented from SimTK::MobilizedBody.

Free& SimTK::MobilizedBody::Free::setDefaultTranslation ( const Vec3 )
Free& SimTK::MobilizedBody::Free::setDefaultQuaternion ( const Quaternion )
Free& SimTK::MobilizedBody::Free::setDefaultRotation ( const Rotation )
Free& SimTK::MobilizedBody::Free::setDefaultTransform ( const Transform )
const Vec3& SimTK::MobilizedBody::Free::getDefaultTranslation ( ) const
const Quaternion& SimTK::MobilizedBody::Free::getDefaultQuaternion ( ) const
Rotation SimTK::MobilizedBody::Free::getDefaultRotation ( ) const [inline]
Transform SimTK::MobilizedBody::Free::getDefaultTransform ( ) const [inline]
const Vec7& SimTK::MobilizedBody::Free::getDefaultQ ( ) const
Free& SimTK::MobilizedBody::Free::setDefaultQ ( const Vec7 q)
const Vec7& SimTK::MobilizedBody::Free::getQ ( const State ) const
const Vec7& SimTK::MobilizedBody::Free::getQDot ( const State ) const
const Vec7& SimTK::MobilizedBody::Free::getQDotDot ( const State ) const
const Vec6& SimTK::MobilizedBody::Free::getU ( const State ) const
const Vec6& SimTK::MobilizedBody::Free::getUDot ( const State ) const
void SimTK::MobilizedBody::Free::setQ ( State ,
const Vec7  
) const
void SimTK::MobilizedBody::Free::setU ( State ,
const Vec6  
) const
const Vec7& SimTK::MobilizedBody::Free::getMyPartQ ( const State ,
const Vector qlike 
) const
const Vec6& SimTK::MobilizedBody::Free::getMyPartU ( const State ,
const Vector ulike 
) const
Vec7& SimTK::MobilizedBody::Free::updMyPartQ ( const State ,
Vector qlike 
) const
Vec6& SimTK::MobilizedBody::Free::updMyPartU ( const State ,
Vector ulike 
) const
SimTK::MobilizedBody::Free::SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS ( Free  ,
FreeImpl  ,
MobilizedBody   
)

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines