MobilizedBody::Ball Class Reference

#include <MobilizedBody.h>

Inheritance diagram for MobilizedBody::Ball:

MobilizedBody PIMPLHandle

List of all members.


Detailed Description

Three mobilities -- unrestricted orientation modeled with a quaternion which is never singular.

A modeling option allows the joint to use a 1-2-3 Euler sequence (identical to a Gimbal) instead.

Public Member Functions

 Ball ()
 Ball (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.
 Ball (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.
BalladdBodyDecoration (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.
BalladdOutboardDecoration (const Transform &X_MD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the outboard mobilizer frame M attached to body B.
BalladdInboardDecoration (const Transform &X_FD, const DecorativeGeometry &g)
 Add decorative geometry specified relative to the inboard mobilizer frame F attached to the parent body P.
BallsetDefaultInboardFrame (const Transform &X_PF)
 Change this mobilizer's frame F on the parent body P.
BallsetDefaultOutboardFrame (const Transform &X_BM)
 Change this mobilizer's frame M fixed on this (the outboard) body B.
BallsetDefaultRotation (const Rotation &R_FM)
Rotation getDefaultRotation () const
BallsetDefaultRadius (Real r)
Real getDefaultRadius () const
const QuaterniongetDefaultQ () const
BallsetDefaultQ (const Quaternion &q)
const Vec4getQ (const State &) const
const Vec4getQDot (const State &) const
const Vec4getQDotDot (const State &) const
const Vec3getU (const State &) const
const Vec3getUDot (const State &) const
void setQ (State &, const Vec4 &) const
void setU (State &, const Vec3 &) const
const Vec4getMyPartQ (const State &, const Vector &qlike) const
const Vec3getMyPartU (const State &, const Vector &ulike) const
Vec4updMyPartQ (const State &, Vector &qlike) const
Vec3updMyPartU (const State &, Vector &ulike) const
 SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (Ball, BallImpl, MobilizedBody)


Constructor & Destructor Documentation

Ball (  )  [explicit]

Ball ( 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.

Ball ( 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.


Member Function Documentation

Ball& 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().

Ball& 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().

Ball& 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().

Ball& 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 MobilizedBody.

References MobilizedBody::setDefaultInboardFrame().

Ball& 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 MobilizedBody.

References MobilizedBody::setDefaultOutboardFrame().

Ball& setDefaultRotation ( const Rotation R_FM  )  [inline]

Rotation getDefaultRotation (  )  const [inline]

Ball& setDefaultRadius ( Real  r  ) 

Real getDefaultRadius (  )  const

const Quaternion& getDefaultQ (  )  const

Ball& setDefaultQ ( const Quaternion q  ) 

const Vec4& getQ ( const State  )  const

const Vec4& getQDot ( const State  )  const

const Vec4& getQDotDot ( const State  )  const

const Vec3& getU ( const State  )  const

const Vec3& getUDot ( const State  )  const

void setQ ( State ,
const Vec4  
) const

void setU ( State ,
const Vec3  
) const

const Vec4& getMyPartQ ( const State ,
const Vector qlike 
) const

const Vec3& getMyPartU ( const State ,
const Vector ulike 
) const

Vec4& updMyPartQ ( const State ,
Vector qlike 
) const

Vec3& updMyPartU ( const State ,
Vector ulike 
) const

SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS ( Ball  ,
BallImpl  ,
MobilizedBody   
)


The documentation for this class was generated from the following file:

Generated on Fri Sep 26 07:44:32 2008 for SimTKcore by  doxygen 1.5.6