# SpatialVector6< T > Class Template Reference

## Detailed Description

### template<typename T> class cy::SpatialVector6< T >

6D spatial vector (for 3D).

This class is both for spatial motion vectors and spatial force vectors.

`#include <cySpatial.h>`

## Public Member Functions

Initialization methods
void Set (Vec3< T > const &p1, Vec3< T > const &p2)

void Set (T a1, T a2, T a3, T b1, T b2, T b3)

void Zero ()

Transpose methods
void SetTranspose ()

SpatialVector6 Transpose () const

Unary operators
SpatialVector6 operator- () const

Binary operators
SpatialVector6 operator+ (SpatialVector6 const &s) const
Scalar product of two vectors. Note that one of the vectors should be motion vector ant the other should be a force vector. Otherwise, scalar product is not defined in spatial vector algebra.

SpatialVector6 operator- (SpatialVector6 const &s) const
Scalar product of two vectors. Note that one of the vectors should be motion vector ant the other should be a force vector. Otherwise, scalar product is not defined in spatial vector algebra.

SpatialVector6 operator* (T const &t) const
Scalar product of two vectors. Note that one of the vectors should be motion vector ant the other should be a force vector. Otherwise, scalar product is not defined in spatial vector algebra.

operator* (SpatialVector6 const &s) const
Scalar product of two vectors. Note that one of the vectors should be motion vector ant the other should be a force vector. Otherwise, scalar product is not defined in spatial vector algebra.

Assignment operators
void operator= (SpatialVector6 const &v)

void operator+= (SpatialVector6 const &s)

void operator-= (SpatialVector6 const &s)

void operator*= (T const &t)

Components
Vec3< T > a

Vec3< T > b

## Constructors

Vec3< T > const & p2 { Set(p1,p2)

SpatialVector6 () CY_CLASS_FUNCTION_DEFAULT SpatialVector6(Vec3< T > const &p1

SpatialVector6 (T a1, T a2, T a3, T b1, T b2, T b3)

SpatialVector6 (SpatialVector6 const &v)