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>
Public Member Functions | |
FunctionBased (MobilizedBody &parent, const Body &body, int nmobilities, const std::vector< const Function * > &functions, const std::vector< std::vector< 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) | |
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) | |
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) |
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.
FunctionBased | ( | MobilizedBody & | parent, | |
const Body & | body, | |||
int | nmobilities, | |||
const std::vector< const Function * > & | functions, | |||
const std::vector< std::vector< 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 | |||
) |
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 | |||
) |
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 | |||
) |