Files Class List
SpatialTrans6< T > Class Template Reference

Detailed Description

template<typename T>
class cy::SpatialTrans6< T >

6D spatial matrix for coordinate transforms.

This is a special case for SpatialMatrix6 class, where the matrix represents a coordinate transformation. In this case, instead of keeping a full 6x6 matrix values, we can keep a 3x3 matrix for rotation, and a 3D point for translation. This compact representation simplifies some computations, therefore you should use this class instead of SpatialMatrix6 whenever you represent a coordinate transformation. However, for general matrix operations, you have to use SpatialMatrix6.

#include <cySpatial.h>

Public Member Functions

 SpatialTrans6 () CY_CLASS_FUNCTION_DEFAULT SpatialTrans6(SpatialTrans6 const &mat)
 SpatialTrans6 (Matrix3< T > const &_R, Vec3< T > const &_r)
Initialization methods
void Set (Matrix3< T > const &_R, Vec3< T > const &_r)
void SetIdentity ()
Unary operators
SpatialTrans6 operator- () const
Binary operators
SpatialVector6< T > operator* (SpatialVector6< T > const &p) const
SpatialTrans6 operator* (SpatialTrans6 const &mat) const
SpatialTrans6 operator+ (SpatialTrans6 const &mat) const
SpatialTrans6 operator- (SpatialTrans6 const &mat) const
SpatialTrans6 operator* (T t) const
SpatialTrans6 operator/ (T t) const
Assignment operators
void operator*= (SpatialTrans6 const &mat)
void operator+= (SpatialTrans6 const &mat)
void operator-= (SpatialTrans6 const &mat)
void operator*= (T const &t)

Public Attributes

Matrix3< T > R
 Rotation matrix.
Vec3< T > r