Simbody
Public Member Functions

SimTK::MobilizedBody::LineOrientation Class Reference

Two mobilities, representing unrestricted orientation for a body which is inertialess along its own z axis. More...

#include <MobilizedBody.h>

Inheritance diagram for SimTK::MobilizedBody::LineOrientation:

List of all members.

Public Member Functions

 LineOrientation (Direction=Forward)
 LineOrientation (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.
 LineOrientation (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.
LineOrientationaddBodyDecoration (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.
LineOrientationaddOutboardDecoration (const Transform &X_MD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the outboard mobilizer frame M attached to body B.
LineOrientationaddInboardDecoration (const Transform &X_FD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the inboard mobilizer frame F attached to the parent body P.
LineOrientationsetDefaultInboardFrame (const Transform &X_PF)
 Change this mobilizer's frame F on the parent body P.
LineOrientationsetDefaultOutboardFrame (const Transform &X_BM)
 Change this mobilizer's frame M fixed on this (the outboard) body B.
LineOrientationsetDefaultRotation (const Rotation &R_FM)
Rotation getDefaultRotation () const
const QuaterniongetDefaultQ () const
LineOrientationsetDefaultQ (const Quaternion &q)
const Vec4getQ (const State &) const
const Vec4getQDot (const State &) const
const Vec4getQDotDot (const State &) const
const Vec2getU (const State &) const
const Vec2getUDot (const State &) const
void setQ (State &, const Vec4 &) const
void setU (State &, const Vec2 &) const
const Vec4getMyPartQ (const State &, const Vector &qlike) const
const Vec2getMyPartU (const State &, const Vector &ulike) const
Vec4updMyPartQ (const State &, Vector &qlike) const
Vec2updMyPartU (const State &, Vector &ulike) const
 SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (LineOrientation, LineOrientationImpl, MobilizedBody)

Detailed Description

Two mobilities, representing unrestricted orientation for a body which is inertialess along its own z axis.

The generalized coordinates are the same as for the general Orientation (Ball) mobilizer, but there are only two generalized speeds. These are the x,y components of the angular velocity of frame M in F, but expressed in the *M* (outboard frame).


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::LineOrientation::LineOrientation ( 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

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

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

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

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

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

LineOrientation& SimTK::MobilizedBody::LineOrientation::setDefaultRotation ( const Rotation R_FM) [inline]
Rotation SimTK::MobilizedBody::LineOrientation::getDefaultRotation ( ) const [inline]
const Quaternion& SimTK::MobilizedBody::LineOrientation::getDefaultQ ( ) const
LineOrientation& SimTK::MobilizedBody::LineOrientation::setDefaultQ ( const Quaternion q)
const Vec4& SimTK::MobilizedBody::LineOrientation::getQ ( const State ) const
const Vec4& SimTK::MobilizedBody::LineOrientation::getQDot ( const State ) const
const Vec4& SimTK::MobilizedBody::LineOrientation::getQDotDot ( const State ) const
const Vec2& SimTK::MobilizedBody::LineOrientation::getU ( const State ) const
const Vec2& SimTK::MobilizedBody::LineOrientation::getUDot ( const State ) const
void SimTK::MobilizedBody::LineOrientation::setQ ( State ,
const Vec4  
) const
void SimTK::MobilizedBody::LineOrientation::setU ( State ,
const Vec2  
) const
const Vec4& SimTK::MobilizedBody::LineOrientation::getMyPartQ ( const State ,
const Vector qlike 
) const
const Vec2& SimTK::MobilizedBody::LineOrientation::getMyPartU ( const State ,
const Vector ulike 
) const
Vec4& SimTK::MobilizedBody::LineOrientation::updMyPartQ ( const State ,
Vector qlike 
) const
Vec2& SimTK::MobilizedBody::LineOrientation::updMyPartU ( const State ,
Vector ulike 
) const
SimTK::MobilizedBody::LineOrientation::SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS ( LineOrientation  ,
LineOrientationImpl  ,
MobilizedBody   
)

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