Rosetta Utilities  2015.02
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
numeric::xyzTransform< typename > 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)
 
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
 
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
 
distance (Transform const &b) const
 
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
 
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
 
rotation_angle_degrees () const
 
rotation_angle () const
 
rotation_cosine () const
 
rotation_sine () const
 
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

template<typename >
typedef std::numeric_limits<T> numeric::xyzTransform< typename >::LIM
template<typename >
typedef xyzMatrix<T> numeric::xyzTransform< typename >::Matrix
template<typename >
typedef utility::fixedsizearray1< T, 6 > numeric::xyzTransform< typename >::T6
template<typename >
typedef xyzTransform<T> numeric::xyzTransform< typename >::Transform
template<typename >
typedef xyzVector<T> numeric::xyzTransform< typename >::V
template<typename >
typedef xyzVector<T> numeric::xyzTransform< typename >::Vector

Constructor & Destructor Documentation

template<typename >
numeric::xyzTransform< typename >::xyzTransform ( )
inline
template<typename >
numeric::xyzTransform< typename >::xyzTransform ( Matrix const &  rin)
inline
template<typename >
numeric::xyzTransform< typename >::xyzTransform ( Vector const &  tin)
inline
template<typename >
numeric::xyzTransform< typename >::xyzTransform ( Matrix const &  rin,
Vector const &  tin 
)
inline
template<typename >
numeric::xyzTransform< typename >::xyzTransform ( T6 const &  _rt6)
inline
template<typename >
numeric::xyzTransform< typename >::xyzTransform ( Vector const &  u,
Vector const &  v,
Vector const &  w 
)
inline
template<typename >
numeric::xyzTransform< typename >::xyzTransform ( Vector const &  c,
Vector const &  u,
Vector const &  v,
Vector const &  w 
)
inline

Member Function Documentation

template<typename >
static Transform numeric::xyzTransform< typename >::align ( Vector const &  to,
Vector const &  from = Vector(1,0,0) 
)
inlinestatic
template<typename >
static Transform numeric::xyzTransform< typename >::align_fast ( V const &  to,
V const &  from = V(1.0, 0.0, 0.0) 
)
inlinestatic
template<typename >
T numeric::xyzTransform< typename >::approx_lever_distance ( Transform const &  o,
T const &  lever = 1.0 
) const
inline
template<typename >
bool numeric::xyzTransform< typename >::bad ( ) const
inline
template<typename >
static T6 numeric::xyzTransform< typename >::BAD_RT6 ( )
inlinestatic
template<typename >
static xyzTransform<T> numeric::xyzTransform< typename >::BAD_XFORM ( )
inlinestatic
template<typename >
bool numeric::xyzTransform< typename >::badfast ( ) const
inline
template<typename >
T numeric::xyzTransform< typename >::distance ( Transform const &  b) const
inline
template<typename >
T numeric::xyzTransform< typename >::distance_squared ( Transform const &  b) const
inline
template<typename >
xyzVector< T > numeric::xyzTransform< typename >::euler_angles_deg ( ) const
inline
template<typename >
xyzVector< T > numeric::xyzTransform< typename >::euler_angles_rad ( ) const
inline

see numeric/HomogeneousTransform

Referenced by numeric::xyzTransform< numeric::Real >::euler_angles_deg().

template<typename >
xyzTransform<T>& numeric::xyzTransform< typename >::from_euler_angles_deg ( T const &  phi,
T const &  psi,
T const &  theta 
)
inline
template<typename >
xyzTransform<T>& numeric::xyzTransform< typename >::from_euler_angles_deg ( xyzVector< T > const &  euler)
inline
template<typename >
xyzTransform<T>& numeric::xyzTransform< typename >::from_euler_angles_rad ( T const &  phi,
T const &  psi,
T const &  theta 
)
inline
template<typename >
xyzTransform<T>& numeric::xyzTransform< typename >::from_euler_angles_rad ( xyzVector< T > const &  euler)
inline
template<typename >
Transform& numeric::xyzTransform< typename >::from_four_points ( Vector const &  c,
Vector const &  u,
Vector const &  v,
Vector const &  w 
)
inline
template<typename >
void numeric::xyzTransform< typename >::from_quaternion ( T const &  qw,
T const &  qx,
T const &  qy,
T const &  qz 
)
inline
template<typename >
uint64_t numeric::xyzTransform< typename >::hash64 ( T const &  cw = 0.1,
T const &  aw = 360./1024. 
) const
inline
template<typename >
static xyzTransform<T> numeric::xyzTransform< typename >::identity ( )
inlinestatic
template<typename >
int numeric::xyzTransform< typename >::intersect3D_2Planes ( Plane  Pn1,
Plane  Pn2,
Line L 
) const
inline
template<typename >
Vector numeric::xyzTransform< typename >::inv_xform ( Vector const &  v) const
inline
template<typename >
Transform numeric::xyzTransform< typename >::inverse ( ) const
inline
template<typename >
template<typename T2 >
T2 numeric::xyzTransform< typename >::operator() ( T2 const &  x)
inline
template<typename >
Transform numeric::xyzTransform< typename >::operator~ ( ) const
inline
template<typename >
T const& numeric::xyzTransform< typename >::px ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::px ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::py ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::py ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::pz ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::pz ( )
inline
template<typename >
static Transform numeric::xyzTransform< typename >::rot ( Matrix const &  rot,
Vector const &  o_cen,
Vector const &  cen 
)
inlinestatic
template<typename >
static Transform numeric::xyzTransform< typename >::rot ( Matrix const &  rot,
Vector const &  cen = Vector(0,0,0) 
)
inlinestatic
template<typename >
static Transform numeric::xyzTransform< typename >::rot ( Vector const &  axs,
T const &  ang,
Vector const &  cen = Vector(0,0,0) 
)
inlinestatic
template<typename >
static Transform numeric::xyzTransform< typename >::rot_deg ( Vector const &  axs,
T const &  ang,
Vector const &  cen = Vector(0,0,0) 
)
inlinestatic
template<typename >
T numeric::xyzTransform< typename >::rotation_angle ( ) const
inline
template<typename >
T numeric::xyzTransform< typename >::rotation_angle_degrees ( ) const
inline
template<typename >
void numeric::xyzTransform< typename >::rotation_axis ( Vector axis,
Vector cen,
T &  angle 
) const
inline
template<typename >
Vector numeric::xyzTransform< typename >::rotation_axis ( ) const
inline
template<typename >
T numeric::xyzTransform< typename >::rotation_cosine ( ) const
inline
template<typename >
T numeric::xyzTransform< typename >::rotation_sine ( ) const
inline
template<typename >
T6 numeric::xyzTransform< typename >::rt6 ( ) const
inline
template<typename >
xyzTransform& numeric::xyzTransform< typename >::rt6 ( T6 const &  rt6)
inline
template<typename >
xyzTransform& numeric::xyzTransform< typename >::rt6 ( T const &  i,
T const &  j,
T const &  k,
T const &  l,
T const &  m,
T const &  n 
)
inline
template<typename >
uint64_t numeric::xyzTransform< typename >::symhash64 ( T const &  cw = 0.1,
T const &  aw = 360./1024. 
) const
inline
template<typename >
void numeric::xyzTransform< typename >::to_quaternion ( T &  qw,
T &  qx,
T &  qy,
T &  qz 
) const
inline
template<typename >
T const& numeric::xyzTransform< typename >::x ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::x ( )
inline
template<typename >
Vector numeric::xyzTransform< typename >::xform ( Vector const &  v) const
inline
template<typename >
T const& numeric::xyzTransform< typename >::xx ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::xx ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::xy ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::xy ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::xz ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::xz ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::y ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::y ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::yx ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::yx ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::yy ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::yy ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::yz ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::yz ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::z ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::z ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::zx ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::zx ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::zy ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::zy ( )
inline
template<typename >
T const& numeric::xyzTransform< typename >::zz ( ) const
inline
template<typename >
T& numeric::xyzTransform< typename >::zz ( )
inline

Friends And Related Function Documentation

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

Member Data Documentation

template<typename >
Matrix numeric::xyzTransform< typename >::R
template<typename >
Vector numeric::xyzTransform< typename >::t

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