Files Class List
SpatialTrans6< TYPE > Class Template Reference

Detailed Description

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

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 ()
 
 SpatialTrans6 (const SpatialTrans6 &mat)
 
 SpatialTrans6 (const Matrix3< TYPE > &_R, const Point3< TYPE > &_r)
 
Initialization methods
void Set (const Matrix3< TYPE > &_R, const Point3< TYPE > &_r)
 
void SetIdentity ()
 
Unary operators
SpatialTrans6 operator- () const
 
Binary operators
SpatialVector6< TYPE > operator* (const SpatialVector6< TYPE > &p) const
 
SpatialTrans6 operator* (const SpatialTrans6 &mat) const
 
SpatialTrans6 operator+ (const SpatialTrans6 &mat) const
 
SpatialTrans6 operator- (const SpatialTrans6 &mat) const
 
SpatialTrans6 operator* (TYPE t) const
 
SpatialTrans6 operator/ (TYPE t) const
 
Assignment operators
void operator*= (const SpatialTrans6 &mat)
 
void operator+= (const SpatialTrans6 &mat)
 
void operator-= (const SpatialTrans6 &mat)
 
void operator*= (TYPE t)
 

Public Attributes

Matrix3< TYPE > R
 
Point3< TYPE > r
 

Member Data Documentation

§ R

Matrix3<TYPE> R

Rotation matrix.

§ r

Point3<TYPE> r

Transformation.