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 463 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 471 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 470 of file fmatSpatial.h.


Member Enumeration Documentation

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

Definition at line 465 of file fmatSpatial.h.


Constructor & Destructor Documentation

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

Definition at line 473 of file fmatSpatial.h.

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

Definition at line 475 of file fmatSpatial.h.

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

Definition at line 476 of file fmatSpatial.h.

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

Definition at line 477 of file fmatSpatial.h.

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

Definition at line 478 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 479 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 480 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 481 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 482 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 483 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 491 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 498 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 505 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 519 of file fmatSpatial.h.

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

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 513 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 589 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 580 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 574 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 568 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 559 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 553 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 547 of file fmatSpatial.h.

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

Definition at line 597 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 527 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 486 of file fmatSpatial.h.

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

Definition at line 488 of file fmatSpatial.h.

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

Definition at line 487 of file fmatSpatial.h.

Referenced by ShapeSpaceCollisionCheckerBase< 2 >::addDisplayRobotObstacles(), RRTNode3DR< N >::CollisionChecker::CollisionChecker(), LinkComponent::computeBB2D(), IKThreeLink::computeSecondLinkPrismatic(), IKThreeLink::computeThirdLinkPrismatic(), KoduInterpreter::GiveActionRunner::GiveActionSend::doStart(), KoduInterpreter::GrabActionRunner::ExecuteGrabAction::PrepareForAnotherGrasp::RepositionBody::doStart(), KoduInterpreter::GrabActionRunner::ExecuteGrabAction::VerifyObjectWasGrabbed::VerifyObjectInGripper::doStart(), KoduInterpreter::GrabActionRunner::ExecuteGrabAction::VerifyObjectWasGrabbed::LookAtTheGripper::doStart(), KoduInterpreter::PerceptualMultiplexor::FailureRecovery::ObjectManipRecovery::PrepareForAnotherGrasp::RepositionBody::doStart(), KoduInterpreter::PerceptualMultiplexor::FailureRecovery::ObjectManipRecovery::VerifyObjectWasGrabbed::VerifyObjectInGripper::doStart(), KoduInterpreter::PerceptualMultiplexor::FailureRecovery::ObjectManipRecovery::VerifyObjectWasGrabbed::LookAtTheGripper::doStart(), Grasper::PathPlanToRest::doStart(), Grasper::PathPlanConstrained::doStart(), Grasper::ReleaseArm::doStart(), Grasper::Verify::CheckCross::doStart(), Grasper::Verify::CheckDomino::doStart(), Grasper::DoBodyApproach3::doStart(), Grasper::DoBodyApproach2::doStart(), Grasper::PlanArmApproach::doStart(), ArmController::doStart(), LinkComponent::getBB2D(), LinkComponent::getBB3D(), LinkComponent::getCollisionModelTransform(), LinkComponent::getModelTransform(), LinkComponent::getOwnBB3D(), Kinematics::getPosition(), KinematicJoint::getPosition(), KinematicJoint::getWorldPosition(), IKCalliope::IKCalliope(), fmat::TransformT< R >::inverse(), HeadPointerMC::lookAtJoint(), fmat::TransformT< R >::offset(), ShapeSpacePlanner3DR< N >::plotPath(), ShapeSpacePlanner2DR< N >::plotPath(), ArmController::pointPicked(), Kinematics::projectToPlane(), and ArmController::sendReachablePoints().


Member Data Documentation

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

identity instance

Definition at line 516 of file fmatSpatial.h.

Referenced by Kinematics::baseToLocal().


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

Tekkotsu v5.1CVS
Generated Mon May 9 04:59:23 2016 by Doxygen 1.6.3