Rosetta
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
numeric::xyzTransform< T > Class Template Reference

#include <xyzTransform.hh>

Classes

struct  Line
 
struct  Plane
 

Public Types

typedef xyzTransform< TTransform
 
typedef xyzMatrix< TMatrix
 
typedef xyzVector< TVector
 
typedef xyzVector< TV
 
typedef utility::fixedsizearray1< T, 6 > T6
 
typedef std::numeric_limits< TLIM
 

Public Member Functions

 xyzTransform ()
 
 xyzTransform (Matrix const &rin)
 
 xyzTransform (Vector const &tin)
 
 xyzTransform (Matrix const &rin, Vector const &tin)
 
 xyzTransform (T6 const &_rt6)
 
Transformfrom_four_points (Vector const &c, Vector const &u, Vector const &v, Vector const &w)
 
 xyzTransform (Vector const &u, Vector const &v, Vector const &w)
 
 xyzTransform (Vector const &c, Vector const &u, Vector const &v, Vector const &w)
 
T const & xx () const
 
T const & xy () const
 
T const & xz () const
 
T const & yx () const
 
T const & yy () const
 
T const & yz () const
 
T const & zx () const
 
T const & zy () const
 
T const & zz () const
 
T const & px () const
 
T const & py () const
 
T const & pz () const
 
T const & x () const
 
T const & y () const
 
T const & z () const
 
Txx ()
 
Txy ()
 
Txz ()
 
Tyx ()
 
Tyy ()
 
Tyz ()
 
Tzx ()
 
Tzy ()
 
Tzz ()
 
Tpx ()
 
Tpy ()
 
Tpz ()
 
Tx ()
 
Ty ()
 
Tz ()
 
Transform inverse () const
 
Transform operator~ () const
 
T distance (Transform const &b) const
 
T distance_squared (Transform const &b) const
 
Vector xform (Vector const &v) const
 
Vector inv_xform (Vector const &v) const
 
template<typename T2 >
T2 operator() (T2 const &x)
 
void to_quaternion (T &qw, T &qx, T &qy, T &qz) const
 
void from_quaternion (T const &qw, T const &qx, T const &qy, T const &qz)
 
xyzVector< Teuler_angles_rad () const
 see numeric/HomogeneousTransform More...
 
xyzVector< Teuler_angles_deg () const
 
xyzTransform< T > & from_euler_angles_rad (T const &phi, T const &psi, T const &theta)
 
xyzTransform< T > & from_euler_angles_rad (xyzVector< T > const &euler)
 
xyzTransform< T > & from_euler_angles_deg (T const &phi, T const &psi, T const &theta)
 
xyzTransform< T > & from_euler_angles_deg (xyzVector< T > const &euler)
 
T6 rt6 () const
 
xyzTransformrt6 (T6 const &rt6)
 
xyzTransformrt6 (T const &i, T const &j, T const &k, T const &l, T const &m, T const &n)
 
uint64_t hash64 (T const &cw=0.1, T const &aw=360./1024.) const
 
uint64_t symhash64 (T const &cw=0.1, T const &aw=360./1024.) const
 
int intersect3D_2Planes (Plane Pn1, Plane Pn2, Line *L) const
 
void rotation_axis (Vector &axis, Vector &cen, T &angle) const
 
Vector rotation_axis () const
 
T rotation_angle_degrees () const
 
T rotation_angle () const
 
T rotation_cosine () const
 
T rotation_sine () const
 
T approx_lever_distance (Transform const &o, T const &lever=1.0) const
 
bool bad () const
 
bool badfast () const
 

Static Public Member Functions

static xyzTransform< Tidentity ()
 
static xyzTransform< TBAD_XFORM ()
 
static T6 BAD_RT6 ()
 
static Transform rot (Matrix const &rot, Vector const &o_cen, Vector const &cen)
 
static Transform rot (Matrix const &rot, Vector const &cen=Vector(0, 0, 0))
 
static Transform rot (Vector const &axs, T const &ang, Vector const &cen=Vector(0, 0, 0))
 
static Transform rot_deg (Vector const &axs, T const &ang, Vector const &cen=Vector(0, 0, 0))
 
static Transform align (Vector const &to, Vector const &from=Vector(1, 0, 0))
 
static Transform align_fast (V const &to, V const &from=V(1.0, 0.0, 0.0))
 

Public Attributes

Matrix R
 
Vector t
 

Friends

bool operator== (Transform const &a, Transform const &b)
 
bool operator!= (Transform const &a, Transform const &b)
 
Transform operator+ (Transform const &a, Vector const &b)
 
Transform operator- (Transform const &a, Vector const &b)
 
Transform operator+ (Vector const &a, Transform const &b)
 
Transform operator- (Vector const &a, Transform const &b)
 
Transform operator* (Transform const &a, T const &b)
 
Transform operator* (T const &a, Transform const &b)
 
Transform operator* (Transform const &a, Matrix const &b)
 
Transform operator* (Matrix const &a, Transform const &b)
 
Vector operator* (Transform const &x, Vector const &v)
 
Transform operator* (Transform const &a, Transform const &b)
 
Transform operator- (Transform const &a, Transform const &b)
 

Member Typedef Documentation

◆ LIM

template<typename T >
typedef std::numeric_limits<T> numeric::xyzTransform< T >::LIM

◆ Matrix

template<typename T >
typedef xyzMatrix<T> numeric::xyzTransform< T >::Matrix

◆ T6

template<typename T >
typedef utility::fixedsizearray1< T, 6 > numeric::xyzTransform< T >::T6

◆ Transform

template<typename T >
typedef xyzTransform<T> numeric::xyzTransform< T >::Transform

◆ V

template<typename T >
typedef xyzVector<T> numeric::xyzTransform< T >::V

◆ Vector

template<typename T >
typedef xyzVector<T> numeric::xyzTransform< T >::Vector

Constructor & Destructor Documentation

◆ xyzTransform() [1/7]

template<typename T >
numeric::xyzTransform< T >::xyzTransform ( )
inline

◆ xyzTransform() [2/7]

template<typename T >
numeric::xyzTransform< T >::xyzTransform ( Matrix const &  rin)
inline

◆ xyzTransform() [3/7]

template<typename T >
numeric::xyzTransform< T >::xyzTransform ( Vector const &  tin)
inline

◆ xyzTransform() [4/7]

template<typename T >
numeric::xyzTransform< T >::xyzTransform ( Matrix const &  rin,
Vector const &  tin 
)
inline

◆ xyzTransform() [5/7]

template<typename T >
numeric::xyzTransform< T >::xyzTransform ( T6 const &  _rt6)
inline

◆ xyzTransform() [6/7]

template<typename T >
numeric::xyzTransform< T >::xyzTransform ( Vector const &  u,
Vector const &  v,
Vector const &  w 
)
inline

◆ xyzTransform() [7/7]

template<typename T >
numeric::xyzTransform< T >::xyzTransform ( Vector const &  c,
Vector const &  u,
Vector const &  v,
Vector const &  w 
)
inline

Member Function Documentation

◆ align()

template<typename T >
static Transform numeric::xyzTransform< T >::align ( Vector const &  to,
Vector const &  from = Vector(1,0,0) 
)
inlinestatic

◆ align_fast()

template<typename T >
static Transform numeric::xyzTransform< T >::align_fast ( V const &  to,
V const &  from = V(1.0, 0.0, 0.0) 
)
inlinestatic

◆ approx_lever_distance()

template<typename T >
T numeric::xyzTransform< T >::approx_lever_distance ( Transform const &  o,
T const &  lever = 1.0 
) const
inline

◆ bad()

template<typename T >
bool numeric::xyzTransform< T >::bad ( ) const
inline

◆ BAD_RT6()

template<typename T >
static T6 numeric::xyzTransform< T >::BAD_RT6 ( )
inlinestatic

◆ BAD_XFORM()

template<typename T >
static xyzTransform<T> numeric::xyzTransform< T >::BAD_XFORM ( )
inlinestatic

◆ badfast()

template<typename T >
bool numeric::xyzTransform< T >::badfast ( ) const
inline

◆ distance()

template<typename T >
T numeric::xyzTransform< T >::distance ( Transform const &  b) const
inline

◆ distance_squared()

template<typename T >
T numeric::xyzTransform< T >::distance_squared ( Transform const &  b) const
inline

◆ euler_angles_deg()

template<typename T >
xyzVector< T > numeric::xyzTransform< T >::euler_angles_deg ( ) const
inline

◆ euler_angles_rad()

template<typename T >
xyzVector< T > numeric::xyzTransform< T >::euler_angles_rad ( ) const
inline

◆ from_euler_angles_deg() [1/2]

template<typename T >
xyzTransform<T>& numeric::xyzTransform< T >::from_euler_angles_deg ( T const &  phi,
T const &  psi,
T const &  theta 
)
inline

◆ from_euler_angles_deg() [2/2]

template<typename T >
xyzTransform<T>& numeric::xyzTransform< T >::from_euler_angles_deg ( xyzVector< T > const &  euler)
inline

◆ from_euler_angles_rad() [1/2]

template<typename T >
xyzTransform<T>& numeric::xyzTransform< T >::from_euler_angles_rad ( T const &  phi,
T const &  psi,
T const &  theta 
)
inline

◆ from_euler_angles_rad() [2/2]

template<typename T >
xyzTransform<T>& numeric::xyzTransform< T >::from_euler_angles_rad ( xyzVector< T > const &  euler)
inline

◆ from_four_points()

template<typename T >
Transform& numeric::xyzTransform< T >::from_four_points ( Vector const &  c,
Vector const &  u,
Vector const &  v,
Vector const &  w 
)
inline

◆ from_quaternion()

template<typename T >
void numeric::xyzTransform< T >::from_quaternion ( T const &  qw,
T const &  qx,
T const &  qy,
T const &  qz 
)
inline

◆ hash64()

template<typename T >
uint64_t numeric::xyzTransform< T >::hash64 ( T const &  cw = 0.1,
T const &  aw = 360./1024. 
) const
inline

◆ identity()

template<typename T >
static xyzTransform<T> numeric::xyzTransform< T >::identity ( )
inlinestatic

◆ intersect3D_2Planes()

template<typename T >
int numeric::xyzTransform< T >::intersect3D_2Planes ( Plane  Pn1,
Plane  Pn2,
Line L 
) const
inline

◆ inv_xform()

template<typename T >
Vector numeric::xyzTransform< T >::inv_xform ( Vector const &  v) const
inline

◆ inverse()

template<typename T >
Transform numeric::xyzTransform< T >::inverse ( ) const
inline

◆ operator()()

template<typename T >
template<typename T2 >
T2 numeric::xyzTransform< T >::operator() ( T2 const &  x)
inline

◆ operator~()

template<typename T >
Transform numeric::xyzTransform< T >::operator~ ( ) const
inline

◆ px() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::px ( )
inline

◆ px() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::px ( ) const
inline

◆ py() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::py ( )
inline

◆ py() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::py ( ) const
inline

◆ pz() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::pz ( )
inline

◆ pz() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::pz ( ) const
inline

◆ rot() [1/3]

template<typename T >
static Transform numeric::xyzTransform< T >::rot ( Matrix const &  rot,
Vector const &  cen = Vector(0,0,0) 
)
inlinestatic

◆ rot() [2/3]

template<typename T >
static Transform numeric::xyzTransform< T >::rot ( Matrix const &  rot,
Vector const &  o_cen,
Vector const &  cen 
)
inlinestatic

◆ rot() [3/3]

template<typename T >
static Transform numeric::xyzTransform< T >::rot ( Vector const &  axs,
T const &  ang,
Vector const &  cen = Vector(0,0,0) 
)
inlinestatic

◆ rot_deg()

template<typename T >
static Transform numeric::xyzTransform< T >::rot_deg ( Vector const &  axs,
T const &  ang,
Vector const &  cen = Vector(0,0,0) 
)
inlinestatic

◆ rotation_angle()

template<typename T >
T numeric::xyzTransform< T >::rotation_angle ( ) const
inline

◆ rotation_angle_degrees()

template<typename T >
T numeric::xyzTransform< T >::rotation_angle_degrees ( ) const
inline

◆ rotation_axis() [1/2]

template<typename T >
Vector numeric::xyzTransform< T >::rotation_axis ( ) const
inline

◆ rotation_axis() [2/2]

template<typename T >
void numeric::xyzTransform< T >::rotation_axis ( Vector axis,
Vector cen,
T angle 
) const
inline

◆ rotation_cosine()

template<typename T >
T numeric::xyzTransform< T >::rotation_cosine ( ) const
inline

◆ rotation_sine()

template<typename T >
T numeric::xyzTransform< T >::rotation_sine ( ) const
inline

◆ rt6() [1/3]

template<typename T >
T6 numeric::xyzTransform< T >::rt6 ( ) const
inline

◆ rt6() [2/3]

template<typename T >
xyzTransform& numeric::xyzTransform< T >::rt6 ( T const &  i,
T const &  j,
T const &  k,
T const &  l,
T const &  m,
T const &  n 
)
inline

◆ rt6() [3/3]

template<typename T >
xyzTransform& numeric::xyzTransform< T >::rt6 ( T6 const &  rt6)
inline

◆ symhash64()

template<typename T >
uint64_t numeric::xyzTransform< T >::symhash64 ( T const &  cw = 0.1,
T const &  aw = 360./1024. 
) const
inline

◆ to_quaternion()

template<typename T >
void numeric::xyzTransform< T >::to_quaternion ( T qw,
T qx,
T qy,
T qz 
) const
inline

◆ x() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::x ( )
inline

◆ x() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::x ( ) const
inline

◆ xform()

template<typename T >
Vector numeric::xyzTransform< T >::xform ( Vector const &  v) const
inline

◆ xx() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::xx ( )
inline

◆ xx() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::xx ( ) const
inline

◆ xy() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::xy ( )
inline

◆ xy() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::xy ( ) const
inline

◆ xz() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::xz ( )
inline

◆ xz() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::xz ( ) const
inline

◆ y() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::y ( )
inline

◆ y() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::y ( ) const
inline

◆ yx() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::yx ( )
inline

◆ yx() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::yx ( ) const
inline

◆ yy() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::yy ( )
inline

◆ yy() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::yy ( ) const
inline

◆ yz() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::yz ( )
inline

◆ yz() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::yz ( ) const
inline

◆ z() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::z ( )
inline

◆ z() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::z ( ) const
inline

◆ zx() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::zx ( )
inline

◆ zx() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::zx ( ) const
inline

◆ zy() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::zy ( )
inline

◆ zy() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::zy ( ) const
inline

◆ zz() [1/2]

template<typename T >
T& numeric::xyzTransform< T >::zz ( )
inline

◆ zz() [2/2]

template<typename T >
T const& numeric::xyzTransform< T >::zz ( ) const
inline

Friends And Related Function Documentation

◆ operator!=

template<typename T >
bool operator!= ( Transform const &  a,
Transform const &  b 
)
friend

◆ operator* [1/6]

template<typename T >
Transform operator* ( Matrix const &  a,
Transform const &  b 
)
friend

◆ operator* [2/6]

template<typename T >
Transform operator* ( T const &  a,
Transform const &  b 
)
friend

◆ operator* [3/6]

template<typename T >
Transform operator* ( Transform const &  a,
Matrix const &  b 
)
friend

◆ operator* [4/6]

template<typename T >
Transform operator* ( Transform const &  a,
T const &  b 
)
friend

◆ operator* [5/6]

template<typename T >
Transform operator* ( Transform const &  a,
Transform const &  b 
)
friend

◆ operator* [6/6]

template<typename T >
Vector operator* ( Transform const &  x,
Vector const &  v 
)
friend

◆ operator+ [1/2]

template<typename T >
Transform operator+ ( Transform const &  a,
Vector const &  b 
)
friend

◆ operator+ [2/2]

template<typename T >
Transform operator+ ( Vector const &  a,
Transform const &  b 
)
friend

◆ operator- [1/3]

template<typename T >
Transform operator- ( Transform const &  a,
Transform const &  b 
)
friend

◆ operator- [2/3]

template<typename T >
Transform operator- ( Transform const &  a,
Vector const &  b 
)
friend

◆ operator- [3/3]

template<typename T >
Transform operator- ( Vector const &  a,
Transform const &  b 
)
friend

◆ operator==

template<typename T >
bool operator== ( Transform const &  a,
Transform const &  b 
)
friend

Member Data Documentation

◆ R

template<typename T >
Matrix numeric::xyzTransform< T >::R

◆ t

template<typename T >
Vector numeric::xyzTransform< T >::t

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