Simbody
|
This defines the MobilizedBody class, which associates a new body (the "child", "outboard", or "successor" body) with a Mobilizer and a reference frame on an existing body (the "parent", "inboard", or "predecessor" body) that is already part of a MatterSubsystem. More...
#include "SimTKmath.h"
#include "simbody/internal/common.h"
#include "simbody/internal/Body.h"
#include "simbody/internal/Motion.h"
#include <cassert>
Go to the source code of this file.
Classes | |
class | SimTK::MobilizedBody |
This is the base class for all MobilizedBody classes, which include a body and a particular kind of mobilizer (joint) connecting that body to its parent. More... | |
class | SimTK::MobilizedBody::Pin |
One mobility -- rotation about the common z axis of the inboard and outboard mobilizer frames. More... | |
class | SimTK::MobilizedBody::Slider |
One mobility -- translation along the common x axis of the inboard and outboard mobilizer frames. More... | |
class | SimTK::MobilizedBody::Screw |
One mobility -- coordinated rotation and translation along the common z axis of the inboard and outboard mobilizer frames. More... | |
class | SimTK::MobilizedBody::Universal |
Two mobilities -- rotation about the x axis, followed by a rotation about the new y axis. More... | |
class | SimTK::MobilizedBody::Cylinder |
Two mobilities -- rotation and translation along the common z axis of the inboard and outboard mobilizer frames. More... | |
class | SimTK::MobilizedBody::BendStretch |
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... | |
class | SimTK::MobilizedBody::Planar |
Three mobilities -- z rotation and x,y translation. More... | |
class | SimTK::MobilizedBody::SphericalCoords |
Three mobilities -- body fixed 3-2 (z-y) rotation followed by translation along body z or body x. More... | |
class | SimTK::MobilizedBody::Gimbal |
Three mobilities -- unrestricted orientation modeled as a 1-2-3 body-fixed Euler angle sequence. More... | |
class | SimTK::MobilizedBody::Ball |
Three mobilities -- unrestricted orientation modeled with a quaternion which is never singular. More... | |
class | SimTK::MobilizedBody::Ellipsoid |
Three mobilities -- coordinated rotation and translation along the surface of an ellipsoid fixed to the parent (inboard) body. More... | |
class | SimTK::MobilizedBody::Translation |
Three translational mobilities. More... | |
class | SimTK::MobilizedBody::Free |
Unrestricted motion for a rigid body (six mobilities). More... | |
class | SimTK::MobilizedBody::LineOrientation |
Two mobilities, representing unrestricted orientation for a body which is inertialess along its own z axis. More... | |
class | SimTK::MobilizedBody::FreeLine |
Five mobilities, representing unrestricted motion for a body which is inertialess along its own z axis. More... | |
class | SimTK::MobilizedBody::Weld |
Zero mobilities. More... | |
class | SimTK::MobilizedBody::Ground |
This is a special type of "mobilized" body used as a placeholder for Ground in the 0th slot for a MatterSubsystem's mobilized bodies. More... | |
class | SimTK::MobilizedBody::Custom |
The handle class MobilizedBody::Custom (dataless) and its companion class MobilizedBody::Custom::Implementation can be used together to define new MobilizedBody types with arbitrary properties. More... | |
class | SimTK::MobilizedBody::Custom::Implementation |
class | SimTK::MobilizedBody::FunctionBased |
This is a subclass of MobilizedBody::Custom which uses a set of Function objects to define the behavior of the MobilizedBody. More... | |
Namespaces | |
namespace | SimTK |
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with other symbols. |
This defines the MobilizedBody class, which associates a new body (the "child", "outboard", or "successor" body) with a Mobilizer and a reference frame on an existing body (the "parent", "inboard", or "predecessor" body) that is already part of a MatterSubsystem.
MobilizedBody is an abstract base class handle, with concrete classes defined for each kind of mobilizer. There are a set of built-in mobilizers and a generic "Custom" mobilizer (an actual abstract base class) from which advanced users may derive their own mobilizers.
A Mobilizer may be associated with a Motion object which defines how it is to move; otherwise its motion is calculated as a result of the application of forces (either directly applied or resulting from constraint forces generated to satisfy restrictions imposed by Constraint objects).