Simbody
Public Member Functions

SimTK::InverseTransform_< P > Class Template Reference

Transform from frame B to frame F, but with the internal representation inverted. More...

#include <Transform.h>

List of all members.

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

Detailed Description

template<class P>
class SimTK::InverseTransform_< P >

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 ] 
 

Constructor & Destructor Documentation

template<class P>
SimTK::InverseTransform_< P >::InverseTransform_ ( ) [inline]

Default constructor produces an identity transform.


Member Function Documentation

template<class P>
SimTK::InverseTransform_< P >::operator Transform_< P > ( ) const [inline]

Implicit conversion from InverseTransform to Transform.

template<class P>
InverseTransform_& SimTK::InverseTransform_< P >::operator= ( const Transform_< P > &  X) [inline]
template<class P>
const Transform_<P>& SimTK::InverseTransform_< P >::invert ( ) const [inline]
template<class P>
Transform_<P>& SimTK::InverseTransform_< P >::updInvert ( ) [inline]
template<class P>
const Transform_<P>& SimTK::InverseTransform_< P >::operator~ ( ) const [inline]
template<class P>
Transform_<P>& SimTK::InverseTransform_< P >::operator~ ( ) [inline]
template<class P>
Transform_<P> SimTK::InverseTransform_< P >::compose ( const Transform_< P > &  X_FY) const [inline]
template<class P>
Transform_<P> SimTK::InverseTransform_< P >::compose ( const InverseTransform_< P > &  X_FY) const [inline]
template<class P>
Vec<3,P> SimTK::InverseTransform_< P >::xformFrameVecToBase ( const Vec< 3, P > &  vF) const [inline]
template<class P>
Vec<3,P> SimTK::InverseTransform_< P >::xformBaseVecToFrame ( const Vec< 3, P > &  vB) const [inline]
template<class P>
Vec<3,P> SimTK::InverseTransform_< P >::shiftFrameStationToBase ( const Vec< 3, P > &  sF) const [inline]
template<class P>
Vec<3,P> SimTK::InverseTransform_< P >::shiftBaseStationToFrame ( const Vec< 3, P > &  sB) const [inline]
template<class P>
const InverseRotation_<P>& SimTK::InverseTransform_< P >::R ( ) const [inline]
template<class P>
InverseRotation_<P>& SimTK::InverseTransform_< P >::updR ( ) [inline]
template<class P>
const InverseRotation_<P>::ColType& SimTK::InverseTransform_< P >::x ( ) const [inline]
template<class P>
const InverseRotation_<P>::ColType& SimTK::InverseTransform_< P >::y ( ) const [inline]
template<class P>
const InverseRotation_<P>::ColType& SimTK::InverseTransform_< P >::z ( ) const [inline]
template<class P>
const Rotation_<P>& SimTK::InverseTransform_< P >::RInv ( ) const [inline]
template<class P>
Rotation_<P>& SimTK::InverseTransform_< P >::updRInv ( ) [inline]
template<class P>
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.

template<class P>
void SimTK::InverseTransform_< P >::setP ( const Vec< 3, P > &  p_BF) [inline]
template<class P>
const Vec<3,P>& SimTK::InverseTransform_< P >::pInv ( ) const [inline]
template<class P>
void SimTK::InverseTransform_< P >::setPInv ( const Vec< 3, P > &  p) [inline]
template<class P>
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.

template<class P>
Mat<4,4,P> SimTK::InverseTransform_< P >::toMat44 ( ) const [inline]

Return the equivalent 4x4 transformation matrix.

template<class P>
Vec<3,P> SimTK::InverseTransform_< P >::T ( ) const [inline]

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