Simbody
|
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>
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. | |
BendStretch & | addBodyDecoration (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. | |
BendStretch & | addOutboardDecoration (const Transform &X_MD, const DecorativeGeometry &g) |
Add decorative geometry specified relative to the outboard mobilizer frame M attached to body B. | |
BendStretch & | addInboardDecoration (const Transform &X_FD, const DecorativeGeometry &g) |
Add decorative geometry specified relative to the inboard mobilizer frame F attached to the parent body P. | |
BendStretch & | setDefaultInboardFrame (const Transform &X_PF) |
Change this mobilizer's frame F on the parent body P. | |
BendStretch & | setDefaultOutboardFrame (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) |
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.
SimTK::MobilizedBody::BendStretch::BendStretch | ( | Direction | = Forward | ) | [explicit] |
SimTK::MobilizedBody::BendStretch::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.
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.
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 | |||
) |