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

Constructors
 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
 Transformation.