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< T > Transform
 
typedef xyzMatrix< T > Matrix
 
typedef xyzVector< T > Vector
 
typedef xyzVector< T > V
 
typedef utility::fixedsizearray1< T, 6 > T6
 
typedef std::numeric_limits< T > LIM
 

Public Member Functions

 xyzTransform ()
 
 xyzTransform (Matrix const &rin)
 
 xyzTransform (Vector const &tin)
 
 xyzTransform (Matrix const &rin, Vector const &tin)
 
 xyzTransform (T6 const &_rt6)
 
Transform & from_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
 
T & xx ()
 
T & xy ()
 
T & xz ()
 
T & yx ()
 
T & yy ()
 
T & yz ()
 
T & zx ()
 
T & zy ()
 
T & zz ()
 
T & px ()
 
T & py ()
 
T & pz ()
 
T & x ()
 
T & y ()
 
T & z ()
 
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< T > euler_angles_rad () const
 see numeric/HomogeneousTransform More...
 
xyzVector< T > euler_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
 
xyzTransform & rt6 (T6 const &rt6)
 
xyzTransform & rt6 (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< T > identity ()
 
static xyzTransform< T > BAD_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: