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 ]
InverseTransform_ | ( | ) | [inline] |
Default constructor produces an identity transform.
Transform_<P> compose | ( | const InverseTransform_< P > & | X_FY | ) | const [inline] |
References InverseTransform_< P >::p(), and InverseTransform_< P >::R().
Transform_<P> compose | ( | const Transform_< P > & | X_FY | ) | const [inline] |
References Transform_< P >::p(), and Transform_< P >::R().
Referenced by SimTK::operator*().
const Transform_<P>& invert | ( | ) | const [inline] |
Referenced by InverseTransform_< P >::operator~().
operator Transform_< P > | ( | ) | const [inline] |
Implicit conversion from InverseTransform to Transform.
References InverseTransform_< P >::p(), and InverseTransform_< P >::R().
InverseTransform_& operator= | ( | const Transform_< P > & | X | ) | [inline] |
References Transform_< P >::pInv(), and Transform_< P >::RInv().
Transform_<P>& operator~ | ( | ) | [inline] |
References InverseTransform_< P >::updInvert().
const Transform_<P>& operator~ | ( | ) | const [inline] |
References InverseTransform_< P >::invert().
Vec<3,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.
Referenced by Transform_< P >::compose(), InverseTransform_< P >::compose(), InverseTransform_< P >::operator Transform_< P >(), Transform_< P >::operator=(), SimTK::operator==(), InverseTransform_< P >::T(), and SpatialInertia_< P >::transformInPlace().
const Vec<3,P>& pInv | ( | ) | const [inline] |
const InverseRotation_<P>& R | ( | ) | const [inline] |
Referenced by Transform_< P >::compose(), InverseTransform_< P >::compose(), InverseTransform_< P >::operator Transform_< P >(), Transform_< P >::operator=(), SimTK::operator==(), SpatialInertia_< P >::transformInPlace(), InverseTransform_< P >::x(), InverseTransform_< P >::y(), and InverseTransform_< P >::z().
const Rotation_<P>& RInv | ( | ) | const [inline] |
void setP | ( | const Vec< 3, P > & | p_BF | ) | [inline] |
void setPInv | ( | const Vec< 3, P > & | p | ) | [inline] |
Referenced by SimTK::operator*().
Vec<3,P> T | ( | ) | const [inline] |
References InverseTransform_< P >::p().
Mat<3,4,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> toMat44 | ( | ) | const [inline] |
Return the equivalent 4x4 transformation matrix.
Transform_<P>& updInvert | ( | ) | [inline] |
Referenced by InverseTransform_< P >::operator~().
InverseRotation_<P>& updR | ( | ) | [inline] |
Rotation_<P>& updRInv | ( | ) | [inline] |
const InverseRotation_<P>::ColType& x | ( | ) | const [inline] |
References InverseTransform_< P >::R().
Referenced by SimTK::operator*().
const InverseRotation_<P>::ColType& y | ( | ) | const [inline] |
References InverseTransform_< P >::R().
const InverseRotation_<P>::ColType& z | ( | ) | const [inline] |
References InverseTransform_< P >::R().