Rosetta  2020.28
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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< 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

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: