#include <MobilizedBody.h>
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.
Public Member Functions | |
Free () | |
Free (MobilizedBody &parent, const Body &) | |
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) | |
Use this constructor to specify mobilizer frames which are not coincident with the body frames. | |
Free & | 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. | |
Free & | addOutboardDecoration (const Transform &X_MD, const DecorativeGeometry &g) |
Add decorative geometry specified relative to the outboard mobilizer frame M attached to body B. | |
Free & | 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. | |
Free & | setDefaultInboardFrame (const Transform &X_PF) |
Change this mobilizer's frame F on the parent body P. | |
Free & | setDefaultOutboardFrame (const Transform &X_BM) |
Change this mobilizer's frame M fixed on this (the outboard) body B. | |
Free & | setDefaultTranslation (const Vec3 &) |
Free & | setDefaultQuaternion (const Quaternion &) |
Free & | setDefaultRotation (const Rotation &) |
Free & | setDefaultTransform (const Transform &) |
const Vec3 & | getDefaultTranslation () const |
const Quaternion & | getDefaultQuaternion () const |
Rotation | getDefaultRotation () const |
Transform | getDefaultTransform () const |
const Vec7 & | getDefaultQ () const |
Free & | setDefaultQ (const Vec7 &q) |
const Vec7 & | getQ (const State &) const |
const Vec7 & | getQDot (const State &) const |
const Vec7 & | getQDotDot (const State &) const |
const Vec6 & | getU (const State &) const |
const Vec6 & | getUDot (const State &) const |
void | setQ (State &, const Vec7 &) const |
void | setU (State &, const Vec6 &) const |
const Vec7 & | getMyPartQ (const State &, const Vector &qlike) const |
const Vec6 & | getMyPartU (const State &, const Vector &ulike) const |
Vec7 & | updMyPartQ (const State &, Vector &qlike) const |
Vec6 & | updMyPartU (const State &, Vector &ulike) const |
SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (Free, FreeImpl, MobilizedBody) |
Free | ( | ) |
Free | ( | MobilizedBody & | parent, | |
const Body & | ||||
) |
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 | |||
) |
Use this constructor to specify mobilizer frames which are not coincident with the body frames.
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 MobilizedBody.
References MobilizedBody::addBodyDecoration().
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 MobilizedBody.
References MobilizedBody::addOutboardDecoration().
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 MobilizedBody.
References MobilizedBody::addInboardDecoration().
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 MobilizedBody.
References MobilizedBody::setDefaultInboardFrame().
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 MobilizedBody.
References MobilizedBody::setDefaultOutboardFrame().
Free& setDefaultQuaternion | ( | const Quaternion & | ) |
const Vec3& getDefaultTranslation | ( | ) | const |
const Quaternion& getDefaultQuaternion | ( | ) | const |
Rotation getDefaultRotation | ( | ) | const [inline] |
Transform getDefaultTransform | ( | ) | const [inline] |
const Vec7& getDefaultQ | ( | ) | const |
SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS | ( | Free | , | |
FreeImpl | , | |||
MobilizedBody | ||||
) |