Simbody
Public Member Functions

SimTK::MobilizedBody::FunctionBased Class Reference

This is a subclass of MobilizedBody::Custom which uses a set of Function objects to define the behavior of the MobilizedBody. More...

#include <MobilizedBody.h>

Inheritance diagram for SimTK::MobilizedBody::FunctionBased:

List of all members.

Public Member Functions

 FunctionBased (MobilizedBody &parent, const Body &body, int nmobilities, const Array_< const Function * > &functions, const Array_< Array_< int > > &coordIndices, Direction direction=Forward)
 FunctionBased (MobilizedBody &parent, const Body &body, int nmobilities, const std::vector< const Function * > &functions, const std::vector< std::vector< int > > &coordIndices, Direction direction=Forward)
 For compatibility with std::vector.
 FunctionBased (MobilizedBody &parent, const Transform &inbFrame, const Body &body, const Transform &outbFrame, int nmobilities, const Array_< const Function * > &functions, const Array_< Array_< int > > &coordIndices, Direction direction=Forward)
 FunctionBased (MobilizedBody &parent, const Transform &inbFrame, const Body &body, const Transform &outbFrame, int nmobilities, const std::vector< const Function * > &functions, const std::vector< std::vector< int > > &coordIndices, Direction direction=Forward)
 For compatibility with std::vector.
 FunctionBased (MobilizedBody &parent, const Body &body, int nmobilities, const Array_< const Function * > &functions, const Array_< Array_< int > > &coordIndices, const Array_< Vec3 > &axes, Direction direction=Forward)
 FunctionBased (MobilizedBody &parent, const Body &body, int nmobilities, const std::vector< const Function * > &functions, const std::vector< std::vector< int > > &coordIndices, const std::vector< Vec3 > &axes, Direction direction=Forward)
 For compatibility with std::vector.
 FunctionBased (MobilizedBody &parent, const Transform &inbFrame, const Body &body, const Transform &outbFrame, int nmobilities, const Array_< const Function * > &functions, const Array_< Array_< int > > &coordIndices, const Array_< Vec3 > &axes, Direction direction=Forward)
 FunctionBased (MobilizedBody &parent, const Transform &inbFrame, const Body &body, const Transform &outbFrame, int nmobilities, const std::vector< const Function * > &functions, const std::vector< std::vector< int > > &coordIndices, const std::vector< Vec3 > &axes, Direction direction=Forward)
 For compatibility with std::vector.

Detailed Description

This is a subclass of MobilizedBody::Custom which uses a set of Function objects to define the behavior of the MobilizedBody.

When you create it, you specify the number of generalized coordinates, and six Functions which calculate the spatial rotations and translations based on those coordinates. It assumes there is a one to one correspondence between generalized coordinates and generalized speeds, so qdot == u.

Each of the Function objects must take some subset of the generalized coordinates as inputs, and produce a single number as its output. It also must support derivatives up to second order. Taken together, the six Functions define a SpatialVec giving the body's mobilizer transform.


Constructor & Destructor Documentation

SimTK::MobilizedBody::FunctionBased::FunctionBased ( MobilizedBody parent,
const Body body,
int  nmobilities,
const Array_< const Function * > &  functions,
const Array_< Array_< int > > &  coordIndices,
Direction  direction = Forward 
)
SimTK::MobilizedBody::FunctionBased::FunctionBased ( MobilizedBody parent,
const Body body,
int  nmobilities,
const std::vector< const Function * > &  functions,
const std::vector< std::vector< int > > &  coordIndices,
Direction  direction = Forward 
) [inline]

For compatibility with std::vector.

SimTK::MobilizedBody::FunctionBased::FunctionBased ( MobilizedBody parent,
const Transform inbFrame,
const Body body,
const Transform outbFrame,
int  nmobilities,
const Array_< const Function * > &  functions,
const Array_< Array_< int > > &  coordIndices,
Direction  direction = Forward 
)
SimTK::MobilizedBody::FunctionBased::FunctionBased ( MobilizedBody parent,
const Transform inbFrame,
const Body body,
const Transform outbFrame,
int  nmobilities,
const std::vector< const Function * > &  functions,
const std::vector< std::vector< int > > &  coordIndices,
Direction  direction = Forward 
) [inline]

For compatibility with std::vector.

SimTK::MobilizedBody::FunctionBased::FunctionBased ( MobilizedBody parent,
const Body body,
int  nmobilities,
const Array_< const Function * > &  functions,
const Array_< Array_< int > > &  coordIndices,
const Array_< Vec3 > &  axes,
Direction  direction = Forward 
)
SimTK::MobilizedBody::FunctionBased::FunctionBased ( MobilizedBody parent,
const Body body,
int  nmobilities,
const std::vector< const Function * > &  functions,
const std::vector< std::vector< int > > &  coordIndices,
const std::vector< Vec3 > &  axes,
Direction  direction = Forward 
) [inline]

For compatibility with std::vector.

SimTK::MobilizedBody::FunctionBased::FunctionBased ( MobilizedBody parent,
const Transform inbFrame,
const Body body,
const Transform outbFrame,
int  nmobilities,
const Array_< const Function * > &  functions,
const Array_< Array_< int > > &  coordIndices,
const Array_< Vec3 > &  axes,
Direction  direction = Forward 
)
SimTK::MobilizedBody::FunctionBased::FunctionBased ( MobilizedBody parent,
const Transform inbFrame,
const Body body,
const Transform outbFrame,
int  nmobilities,
const std::vector< const Function * > &  functions,
const std::vector< std::vector< int > > &  coordIndices,
const std::vector< Vec3 > &  axes,
Direction  direction = Forward 
) [inline]

For compatibility with std::vector.


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