Simbody
Public Member Functions

SimTK::MobilizedBody::BendStretch Class Reference

Two mobilities: The z axis of the parent's F frame is used for rotation (and that is always aligned with the M frame z axis). More...

#include <MobilizedBody.h>

Inheritance diagram for SimTK::MobilizedBody::BendStretch:

List of all members.

Public Member Functions

 BendStretch (Direction=Forward)
 BendStretch (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.
 BendStretch (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.
BendStretchaddBodyDecoration (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.
BendStretchaddOutboardDecoration (const Transform &X_MD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the outboard mobilizer frame M attached to body B.
BendStretchaddInboardDecoration (const Transform &X_FD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the inboard mobilizer frame F attached to the parent body P.
BendStretchsetDefaultInboardFrame (const Transform &X_PF)
 Change this mobilizer's frame F on the parent body P.
BendStretchsetDefaultOutboardFrame (const Transform &X_BM)
 Change this mobilizer's frame M fixed on this (the outboard) body B.
 SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (BendStretch, BendStretchImpl, MobilizedBody)

Detailed Description

Two mobilities: The z axis of the parent's F frame is used for rotation (and that is always aligned with the M frame z axis).

The x axis of the *M* (outboard) frame is then used for translation; that is, first we rotate around z, which moves M's x with respect to F's x. Then we slide along the rotated x axis. The two generalized coordinates are the rotation and the translation, in that order. This can also be viewed a a 2D polar coordinate mobilizer since the coordinates are (theta, r) about perpendicular 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::BendStretch::BendStretch ( 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

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

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

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

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

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

SimTK::MobilizedBody::BendStretch::SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS ( BendStretch  ,
BendStretchImpl  ,
MobilizedBody   
)

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