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

InverseTransform_ (  )  [inline]

Default constructor produces an identity transform.


Member Function Documentation

Transform_<P> compose ( const InverseTransform_< P > &  X_FY  )  const [inline]
Transform_<P> compose ( const Transform_< P > &  X_FY  )  const [inline]
const Transform_<P>& invert (  )  const [inline]
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]
Transform_<P>& operator~ (  )  [inline]
const Transform_<P>& operator~ (  )  const [inline]
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]
const Rotation_<P>& RInv (  )  const [inline]
void setP ( const Vec< 3, P > &  p_BF  )  [inline]
void setPInv ( const Vec< 3, P > &  p  )  [inline]
Vec<3,P> shiftBaseStationToFrame ( const Vec< 3, P > &  sB  )  const [inline]
Vec<3,P> shiftFrameStationToBase ( const Vec< 3, P > &  sF  )  const [inline]

Referenced by SimTK::operator*().

Vec<3,P> T (  )  const [inline]
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]
InverseRotation_<P>& updR (  )  [inline]
Rotation_<P>& updRInv (  )  [inline]
const InverseRotation_<P>::ColType& x (  )  const [inline]
Vec<3,P> xformBaseVecToFrame ( const Vec< 3, P > &  vB  )  const [inline]
Vec<3,P> xformFrameVecToBase ( const Vec< 3, P > &  vF  )  const [inline]

Referenced by SimTK::operator*().

const InverseRotation_<P>::ColType& y (  )  const [inline]
const InverseRotation_<P>::ColType& z (  )  const [inline]

The documentation for this class was generated from the following file:

Generated on Thu Aug 12 16:38:32 2010 for SimTKcore by  doxygen 1.6.1