Simbody
|
Transform from frame B to frame F, but with the internal representation inverted. More...
#include <Transform.h>
Public Member Functions | |
InverseTransform_ () | |
Default constructor produces an identity transform. | |
operator Transform_< P > () const | |
Implicit conversion from InverseTransform to Transform. | |
InverseTransform_ & | operator= (const Transform_< P > &X) |
const Transform_< P > & | invert () const |
Transform_< P > & | updInvert () |
const Transform_< P > & | operator~ () const |
Transform_< P > & | operator~ () |
Transform_< P > | compose (const Transform_< P > &X_FY) const |
Transform_< P > | compose (const InverseTransform_< P > &X_FY) const |
Vec< 3, P > | xformFrameVecToBase (const Vec< 3, P > &vF) const |
Vec< 3, P > | xformBaseVecToFrame (const Vec< 3, P > &vB) const |
Vec< 3, P > | shiftFrameStationToBase (const Vec< 3, P > &sF) const |
Vec< 3, P > | shiftBaseStationToFrame (const Vec< 3, P > &sB) const |
const InverseRotation_< P > & | R () const |
InverseRotation_< P > & | updR () |
const InverseRotation_< P > ::ColType & | x () const |
const InverseRotation_< P > ::ColType & | y () const |
const InverseRotation_< P > ::ColType & | z () const |
const Rotation_< P > & | RInv () const |
Rotation_< P > & | updRInv () |
Vec< 3, P > | p () const |
Calculate the actual translation vector at a cost of 18 flops. | |
void | setP (const Vec< 3, P > &p_BF) |
const Vec< 3, P > & | pInv () const |
void | setPInv (const Vec< 3, P > &p) |
Mat< 3, 4, P > | toMat34 () const |
For compatibility with Transform_. | |
Mat< 4, 4, P > | toMat44 () const |
Return the equivalent 4x4 transformation matrix. | |
Vec< 3, P > | T () const |
Transform from frame B to frame F, but with the internal representation inverted.
That is, we store R*,p* here but the transform this represents is
B F [ | ] X_BF = X = [ R | p ] where R=~(R*), p = - ~(R*)(p*). [.......|...] [ 0 0 0 1 ]
SimTK::InverseTransform_< P >::InverseTransform_ | ( | ) | [inline] |
Default constructor produces an identity transform.
SimTK::InverseTransform_< P >::operator Transform_< P > | ( | ) | const [inline] |
Implicit conversion from InverseTransform to Transform.
InverseTransform_& SimTK::InverseTransform_< P >::operator= | ( | const Transform_< P > & | X | ) | [inline] |
const Transform_<P>& SimTK::InverseTransform_< P >::invert | ( | ) | const [inline] |
Transform_<P>& SimTK::InverseTransform_< P >::updInvert | ( | ) | [inline] |
const Transform_<P>& SimTK::InverseTransform_< P >::operator~ | ( | ) | const [inline] |
Transform_<P>& SimTK::InverseTransform_< P >::operator~ | ( | ) | [inline] |
Transform_<P> SimTK::InverseTransform_< P >::compose | ( | const Transform_< P > & | X_FY | ) | const [inline] |
Transform_<P> SimTK::InverseTransform_< P >::compose | ( | const InverseTransform_< P > & | X_FY | ) | const [inline] |
Vec<3,P> SimTK::InverseTransform_< P >::xformFrameVecToBase | ( | const Vec< 3, P > & | vF | ) | const [inline] |
Vec<3,P> SimTK::InverseTransform_< P >::xformBaseVecToFrame | ( | const Vec< 3, P > & | vB | ) | const [inline] |
Vec<3,P> SimTK::InverseTransform_< P >::shiftFrameStationToBase | ( | const Vec< 3, P > & | sF | ) | const [inline] |
Vec<3,P> SimTK::InverseTransform_< P >::shiftBaseStationToFrame | ( | const Vec< 3, P > & | sB | ) | const [inline] |
const InverseRotation_<P>& SimTK::InverseTransform_< P >::R | ( | ) | const [inline] |
InverseRotation_<P>& SimTK::InverseTransform_< P >::updR | ( | ) | [inline] |
const InverseRotation_<P>::ColType& SimTK::InverseTransform_< P >::x | ( | ) | const [inline] |
const InverseRotation_<P>::ColType& SimTK::InverseTransform_< P >::y | ( | ) | const [inline] |
const InverseRotation_<P>::ColType& SimTK::InverseTransform_< P >::z | ( | ) | const [inline] |
const Rotation_<P>& SimTK::InverseTransform_< P >::RInv | ( | ) | const [inline] |
Rotation_<P>& SimTK::InverseTransform_< P >::updRInv | ( | ) | [inline] |
Vec<3,P> SimTK::InverseTransform_< P >::p | ( | ) | const [inline] |
Calculate the actual translation vector at a cost of 18 flops.
It is better if you can just work with the InverseTransform directly since then you'll never have to pay this cost.
void SimTK::InverseTransform_< P >::setP | ( | const Vec< 3, P > & | p_BF | ) | [inline] |
const Vec<3,P>& SimTK::InverseTransform_< P >::pInv | ( | ) | const [inline] |
void SimTK::InverseTransform_< P >::setPInv | ( | const Vec< 3, P > & | p | ) | [inline] |
Mat<3,4,P> SimTK::InverseTransform_< P >::toMat34 | ( | ) | const [inline] |
For compatibility with Transform_.
, but we don't provide an "as" method here since the internal storage layout is somewhat odd.
Mat<4,4,P> SimTK::InverseTransform_< P >::toMat44 | ( | ) | const [inline] |
Return the equivalent 4x4 transformation matrix.
Vec<3,P> SimTK::InverseTransform_< P >::T | ( | ) | const [inline] |