Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

fmat::TransformT< R > Class Template Reference

Efficient computation of affine transform operations. More...

#include <fmatSpatial.h>

Inheritance diagram for fmat::TransformT< R >:

Detailed Description

template<typename R = fmatReal>
class fmat::TransformT< R >

Efficient computation of affine transform operations.

Definition at line 461 of file fmatSpatial.h.

List of all members.

Public Types

enum  {
  HEIGHT = 3, H = 3, WIDTH = 4, W = 4,
  CAP = 12
}
typedef R storage_t
typedef fmat_internal::unconst
< R >::type 
out_t

Public Member Functions

 TransformT (const fmat_internal::NoInit &noinit)
 TransformT ()
 TransformT (const R *x, size_t colStride=H)
 TransformT (const SubMatrix< H, W, R > &x)
 TransformT (const Matrix< H, W, R > &x)
template<typename Rot , typename Pt >
 TransformT (const Rot &r, const Pt &p)
template<size_t SH, size_t SW>
 TransformT (const SubMatrix< SH, SW, R > &x)
template<size_t SH, size_t SW>
 TransformT (const SubMatrix< SH, SW, R > &x, size_t rowOff, size_t colOff)
template<size_t SH, size_t SW>
 TransformT (const Matrix< SH, SW, R > &x)
template<size_t SH, size_t SW>
 TransformT (const Matrix< SH, SW, R > &x, size_t rowOff, size_t colOff)
SubMatrix< 3, 3, R > rotation ()
SubMatrix< 3, 3, const R > rotation () const
SubVector< 3, R > translation ()
SubVector< 3, const R > translation () const
TransformT inverse () const ATTR_must_check
 returns the inverse transform, allowing for affine transformations (however, cannot invert 0 or inf scaling!)
TransformT rigidInverse () const ATTR_must_check
 returns the inverse transform, assuming a rigid transform (zero scale and skew) for faster computation
template<typename R2 >
Column< 3, typename
fmat_internal::promotion_trait
< R, R2 >::type > 
operator* (const Column< 3, R2 > &x) const
template<typename R2 >
Column< 3, typename
fmat_internal::promotion_trait
< R, R2 >::type > 
operator* (const SubVector< 3, R2 > &x) const
template<size_t N, typename R2 >
Matrix< 3, N, typename
fmat_internal::promotion_trait
< R, R2 >::type > 
operator* (const Matrix< 3, N, R2 > &x) const
template<typename R2 >
Column< 4, typename
fmat_internal::promotion_trait
< R, R2 >::type > 
operator* (const Column< 4, R2 > &x) const
template<typename R2 >
Column< 4, typename
fmat_internal::promotion_trait
< R, R2 >::type > 
operator* (const SubVector< 4, R2 > &x) const
template<size_t N, typename R2 >
Matrix< 4, N, typename
fmat_internal::promotion_trait
< R, R2 >::type > 
operator* (const Matrix< 4, N, R2 > &x) const
template<typename R2 >
TransformT< typename
fmat_internal::promotion_trait
< R, R2 >::type > 
operator* (const TransformT< R2 > &tb) const
template<typename R2 >
TransformToperator*= (const TransformT< R2 > &t)

Static Public Member Functions

static TransformT< R > aboutX (R rad)
 generate transform representing rotation of rad radians about X axis
static TransformT< R > aboutY (R rad)
 generate transform representing rotation of rad radians about Y axis
static TransformT< R > aboutZ (R rad)
 generate transform representing rotation of rad radians about Z axis
template<class V >
static TransformT< R > offset (const V &x)
 generate transform representing a translation of x
static const TransformTidentity ()

Static Public Attributes

static const TransformT IDENTITY
 identity instance

Member Typedef Documentation

template<typename R = fmatReal>
typedef fmat_internal::unconst<R>::type fmat::TransformT< R >::out_t

Reimplemented from fmat::Matrix< 3, 4, R >.

Definition at line 469 of file fmatSpatial.h.

template<typename R = fmatReal>
typedef R fmat::TransformT< R >::storage_t

Reimplemented from fmat::Matrix< 3, 4, R >.

Definition at line 468 of file fmatSpatial.h.


Member Enumeration Documentation

template<typename R = fmatReal>
anonymous enum
Enumerator:
HEIGHT 
H 
WIDTH 
W 
CAP 

Definition at line 463 of file fmatSpatial.h.


Constructor & Destructor Documentation

template<typename R = fmatReal>
fmat::TransformT< R >::TransformT ( const fmat_internal::NoInit noinit  ) 

Definition at line 471 of file fmatSpatial.h.

template<typename R = fmatReal>
fmat::TransformT< R >::TransformT (  ) 

Definition at line 473 of file fmatSpatial.h.

template<typename R = fmatReal>
fmat::TransformT< R >::TransformT ( const R *  x,
size_t  colStride = H 
) [explicit]

Definition at line 474 of file fmatSpatial.h.

template<typename R = fmatReal>
fmat::TransformT< R >::TransformT ( const SubMatrix< H, W, R > &  x  ) 

Definition at line 475 of file fmatSpatial.h.

template<typename R = fmatReal>
fmat::TransformT< R >::TransformT ( const Matrix< H, W, R > &  x  ) 

Definition at line 476 of file fmatSpatial.h.

template<typename R = fmatReal>
template<typename Rot , typename Pt >
fmat::TransformT< R >::TransformT ( const Rot &  r,
const Pt &  p 
)

Definition at line 477 of file fmatSpatial.h.

template<typename R = fmatReal>
template<size_t SH, size_t SW>
fmat::TransformT< R >::TransformT ( const SubMatrix< SH, SW, R > &  x  )  [explicit]

Definition at line 478 of file fmatSpatial.h.

template<typename R = fmatReal>
template<size_t SH, size_t SW>
fmat::TransformT< R >::TransformT ( const SubMatrix< SH, SW, R > &  x,
size_t  rowOff,
size_t  colOff 
) [explicit]

Definition at line 479 of file fmatSpatial.h.

template<typename R = fmatReal>
template<size_t SH, size_t SW>
fmat::TransformT< R >::TransformT ( const Matrix< SH, SW, R > &  x  )  [explicit]

Definition at line 480 of file fmatSpatial.h.

template<typename R = fmatReal>
template<size_t SH, size_t SW>
fmat::TransformT< R >::TransformT ( const Matrix< SH, SW, R > &  x,
size_t  rowOff,
size_t  colOff 
) [explicit]

Definition at line 481 of file fmatSpatial.h.


Member Function Documentation

template<typename R = fmatReal>
static TransformT<R> fmat::TransformT< R >::aboutX ( rad  )  [static]

generate transform representing rotation of rad radians about X axis

Definition at line 489 of file fmatSpatial.h.

template<typename R = fmatReal>
static TransformT<R> fmat::TransformT< R >::aboutY ( rad  )  [static]

generate transform representing rotation of rad radians about Y axis

Definition at line 496 of file fmatSpatial.h.

template<typename R = fmatReal>
static TransformT<R> fmat::TransformT< R >::aboutZ ( rad  )  [static]

generate transform representing rotation of rad radians about Z axis

Definition at line 503 of file fmatSpatial.h.

template<typename R = fmatReal>
TransformT fmat::TransformT< R >::inverse (  )  const

returns the inverse transform, allowing for affine transformations (however, cannot invert 0 or inf scaling!)

Definition at line 517 of file fmatSpatial.h.

Referenced by Kinematics::baseToLink(), IKThreeLink::computeFirstLinkPrismatic(), IKThreeLink::computeFirstLinkRevolute(), fmat::invert(), and Kinematics::localToBase().

template<typename R = fmatReal>
template<class V >
static TransformT<R> fmat::TransformT< R >::offset ( const V &  x  )  [static]

generate transform representing a translation of x

Definition at line 511 of file fmatSpatial.h.

template<typename R = fmatReal>
template<typename R2 >
TransformT<typename fmat_internal::promotion_trait<R,R2>::type> fmat::TransformT< R >::operator* ( const TransformT< R2 > &  tb  )  const

Definition at line 587 of file fmatSpatial.h.

template<typename R = fmatReal>
template<size_t N, typename R2 >
Matrix<4,N,typename fmat_internal::promotion_trait<R,R2>::type> fmat::TransformT< R >::operator* ( const Matrix< 4, N, R2 > &  x  )  const

Definition at line 578 of file fmatSpatial.h.

template<typename R = fmatReal>
template<typename R2 >
Column<4,typename fmat_internal::promotion_trait<R,R2>::type> fmat::TransformT< R >::operator* ( const SubVector< 4, R2 > &  x  )  const

Definition at line 572 of file fmatSpatial.h.

template<typename R = fmatReal>
template<typename R2 >
Column<4,typename fmat_internal::promotion_trait<R,R2>::type> fmat::TransformT< R >::operator* ( const Column< 4, R2 > &  x  )  const

Definition at line 566 of file fmatSpatial.h.

template<typename R = fmatReal>
template<size_t N, typename R2 >
Matrix<3,N,typename fmat_internal::promotion_trait<R,R2>::type> fmat::TransformT< R >::operator* ( const Matrix< 3, N, R2 > &  x  )  const

Definition at line 557 of file fmatSpatial.h.

template<typename R = fmatReal>
template<typename R2 >
Column<3,typename fmat_internal::promotion_trait<R,R2>::type> fmat::TransformT< R >::operator* ( const SubVector< 3, R2 > &  x  )  const

Definition at line 551 of file fmatSpatial.h.

template<typename R = fmatReal>
template<typename R2 >
Column<3,typename fmat_internal::promotion_trait<R,R2>::type> fmat::TransformT< R >::operator* ( const Column< 3, R2 > &  x  )  const

Definition at line 545 of file fmatSpatial.h.

template<typename R = fmatReal>
template<typename R2 >
TransformT& fmat::TransformT< R >::operator*= ( const TransformT< R2 > &  t  ) 

Definition at line 595 of file fmatSpatial.h.

template<typename R = fmatReal>
TransformT fmat::TransformT< R >::rigidInverse (  )  const

returns the inverse transform, assuming a rigid transform (zero scale and skew) for faster computation

Definition at line 525 of file fmatSpatial.h.

Referenced by ArmController::doStart(), KinematicJoint::getFullInvT(), KinematicJoint::getT(), and DualCoding::MapBuilder::processImage().

template<typename R = fmatReal>
SubMatrix<3,3,const R> fmat::TransformT< R >::rotation (  )  const

Definition at line 484 of file fmatSpatial.h.

template<typename R = fmatReal>
SubVector<3,const R> fmat::TransformT< R >::translation (  )  const

Definition at line 486 of file fmatSpatial.h.


Member Data Documentation

template<typename R = fmatReal>
const TransformT< T > fmat::TransformT< T >::IDENTITY [static]

identity instance

Definition at line 514 of file fmatSpatial.h.

Referenced by Kinematics::baseToLocal().


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

Tekkotsu v5.1CVS
Generated Tue Jan 31 04:32:32 2012 by Doxygen 1.6.3