Simbody
Public Member Functions

SimTK::MobilizedBody::Translation Class Reference

Three translational mobilities. More...

#include <MobilizedBody.h>

Inheritance diagram for SimTK::MobilizedBody::Translation:

List of all members.

Public Member Functions

 Translation (Direction=Forward)
 Translation (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.
 Translation (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.
TranslationaddBodyDecoration (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.
TranslationaddOutboardDecoration (const Transform &X_MD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the outboard mobilizer frame M attached to body B.
TranslationaddInboardDecoration (const Transform &X_FD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the inboard mobilizer frame F attached to the parent body P.
TranslationsetDefaultInboardFrame (const Transform &X_PF)
 Change this mobilizer's frame F on the parent body P.
TranslationsetDefaultOutboardFrame (const Transform &X_BM)
 Change this mobilizer's frame M fixed on this (the outboard) body B.
TranslationsetDefaultTranslation (const Vec3 &p_FM)
const Vec3getDefaultTranslation () const
void setMobilizerTranslation (State &s, const Vec3 &p_FM) const
const Vec3getMobilizerTranslation (const State &s) const
void setMobilizerVelocity (State &s, const Vec3 &v_FM) const
const Vec3getMobilizerVelocity (const State &s) const
 At stage Velocity or higher, return the cross-mobilizer velocity V_FM, the relative velocity of this body's "moving" mobilizer frame M in the parent body's corresponding "fixed" frame F, measured and expressed in F.
const Vec3getMobilizerAcceleration (const State &s) const
 TODO: Not implemented yet -- any volunteers? At stage Acceleration, return the cross-mobilizer acceleration A_FM, the relative acceleration of body B's "moving" mobilizer frame M in the parent body's corresponding "fixed" frame F, measured and expressed in F.
const Vec3getDefaultQ () const
TranslationsetDefaultQ (const Vec3 &q)
const Vec3getQ (const State &) const
const Vec3getQDot (const State &) const
const Vec3getQDotDot (const State &) const
const Vec3getU (const State &) const
const Vec3getUDot (const State &) const
void setQ (State &, const Vec3 &) const
void setU (State &, const Vec3 &) const
const Vec3getMyPartQ (const State &, const Vector &qlike) const
const Vec3getMyPartU (const State &, const Vector &ulike) const
Vec3updMyPartQ (const State &, Vector &qlike) const
Vec3updMyPartU (const State &, Vector &ulike) const
 SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (Translation, TranslationImpl, MobilizedBody)

Detailed Description

Three translational mobilities.

The generalized coordinates are x,y,z translations along the parent (inboard) F frame axes.


Constructor & Destructor Documentation

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

SimTK::MobilizedBody::Translation::Translation ( 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

Translation& SimTK::MobilizedBody::Translation::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.

Translation& SimTK::MobilizedBody::Translation::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.

Translation& SimTK::MobilizedBody::Translation::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.

Translation& SimTK::MobilizedBody::Translation::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.

Translation& SimTK::MobilizedBody::Translation::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.

Translation& SimTK::MobilizedBody::Translation::setDefaultTranslation ( const Vec3 p_FM) [inline]
const Vec3& SimTK::MobilizedBody::Translation::getDefaultTranslation ( ) const [inline]
void SimTK::MobilizedBody::Translation::setMobilizerTranslation ( State s,
const Vec3 p_FM 
) const [inline]
const Vec3& SimTK::MobilizedBody::Translation::getMobilizerTranslation ( const State s) const [inline]
void SimTK::MobilizedBody::Translation::setMobilizerVelocity ( State s,
const Vec3 v_FM 
) const [inline]
const Vec3& SimTK::MobilizedBody::Translation::getMobilizerVelocity ( const State ) const [inline]

At stage Velocity or higher, return the cross-mobilizer velocity V_FM, the relative velocity of this body's "moving" mobilizer frame M in the parent body's corresponding "fixed" frame F, measured and expressed in F.

Note that this isn't the usual spatial velocity since it isn't expressed in G.

Reimplemented from SimTK::MobilizedBody.

const Vec3& SimTK::MobilizedBody::Translation::getMobilizerAcceleration ( const State ) const [inline]

TODO: Not implemented yet -- any volunteers? At stage Acceleration, return the cross-mobilizer acceleration A_FM, the relative acceleration of body B's "moving" mobilizer frame M in the parent body's corresponding "fixed" frame F, measured and expressed in F.

Note that this isn't the usual spatial acceleration since it isn't expressed in G.

Reimplemented from SimTK::MobilizedBody.

const Vec3& SimTK::MobilizedBody::Translation::getDefaultQ ( ) const
Translation& SimTK::MobilizedBody::Translation::setDefaultQ ( const Vec3 q)
const Vec3& SimTK::MobilizedBody::Translation::getQ ( const State ) const
const Vec3& SimTK::MobilizedBody::Translation::getQDot ( const State ) const
const Vec3& SimTK::MobilizedBody::Translation::getQDotDot ( const State ) const
const Vec3& SimTK::MobilizedBody::Translation::getU ( const State ) const
const Vec3& SimTK::MobilizedBody::Translation::getUDot ( const State ) const
void SimTK::MobilizedBody::Translation::setQ ( State ,
const Vec3  
) const
void SimTK::MobilizedBody::Translation::setU ( State ,
const Vec3  
) const
const Vec3& SimTK::MobilizedBody::Translation::getMyPartQ ( const State ,
const Vector qlike 
) const
const Vec3& SimTK::MobilizedBody::Translation::getMyPartU ( const State ,
const Vector ulike 
) const
Vec3& SimTK::MobilizedBody::Translation::updMyPartQ ( const State ,
Vector qlike 
) const
Vec3& SimTK::MobilizedBody::Translation::updMyPartU ( const State ,
Vector ulike 
) const
SimTK::MobilizedBody::Translation::SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS ( Translation  ,
TranslationImpl  ,
MobilizedBody   
)

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