Rigid Body Dynamics Library
SpatialTransform Struct Reference

Compact representation of spatial transformations. More...

`#include <SpatialAlgebraOperators.h>`

## Public Member Functions

SpatialTransform ()

SpatialTransform (const Matrix3d &rotation, const Vector3d &translation)

SpatialVector apply (const SpatialVector &v_sp)

SpatialVector applyTranspose (const SpatialVector &f_sp)

SpatialRigidBodyInertia apply (const SpatialRigidBodyInertia &rbi)

SpatialRigidBodyInertia applyTranspose (const SpatialRigidBodyInertia &rbi)

SpatialMatrix toMatrix () const

SpatialMatrix toMatrixTranspose () const

SpatialTransform inverse () const

SpatialTransform operator* (const SpatialTransform &XT) const

void operator*= (const SpatialTransform &XT)

Matrix3d E

Vector3d r

## Detailed Description

Compact representation of spatial transformations.

Instead of using a verbose 6x6 matrix, this structure only stores a 3x3 matrix and a 3-d vector to store spatial transformations. It also encapsulates efficient operations such as concatenations and transformation of spatial vectors.

Definition at line 145 of file SpatialAlgebraOperators.h.

## ◆ SpatialTransform() [1/2]

 SpatialTransform ( )
inline

Definition at line 146 of file SpatialAlgebraOperators.h.

## ◆ SpatialTransform() [2/2]

 SpatialTransform ( const Matrix3d & rotation, const Vector3d & translation )
inline

Definition at line 150 of file SpatialAlgebraOperators.h.

## ◆ apply() [1/2]

 SpatialRigidBodyInertia apply ( const SpatialRigidBodyInertia & rbi )
inline

Same as X^* I X^{-1}

Definition at line 198 of file SpatialAlgebraOperators.h.

## ◆ apply() [2/2]

 SpatialVector apply ( const SpatialVector & v_sp )
inline

Same as X * v.

Returns
(E * w, - E * rxw + E * v)

Definition at line 159 of file SpatialAlgebraOperators.h.

 SpatialVector applyAdjoint ( const SpatialVector & f_sp )
inline

Definition at line 233 of file SpatialAlgebraOperators.h.

## ◆ applyTranspose() [1/2]

 SpatialRigidBodyInertia applyTranspose ( const SpatialRigidBodyInertia & rbi )
inline

Same as X^T I X

Definition at line 218 of file SpatialAlgebraOperators.h.

## ◆ applyTranspose() [2/2]

 SpatialVector applyTranspose ( const SpatialVector & f_sp )
inline

Same as X^T * f.

Returns
(E^T * n + rx * E^T * f, E^T * f)

Definition at line 179 of file SpatialAlgebraOperators.h.

## ◆ inverse()

 SpatialTransform inverse ( ) const
inline

Definition at line 295 of file SpatialAlgebraOperators.h.

## ◆ operator*()

 SpatialTransform operator* ( const SpatialTransform & XT ) const
inline

Definition at line 302 of file SpatialAlgebraOperators.h.

References SpatialTransform::E, and SpatialTransform::r.

## ◆ operator*=()

 void operator*= ( const SpatialTransform & XT )
inline

Definition at line 306 of file SpatialAlgebraOperators.h.

References SpatialTransform::E, and SpatialTransform::r.

## ◆ toMatrix()

 SpatialMatrix toMatrix ( ) const
inline

Definition at line 247 of file SpatialAlgebraOperators.h.

inline

Definition at line 263 of file SpatialAlgebraOperators.h.

## ◆ toMatrixTranspose()

 SpatialMatrix toMatrixTranspose ( ) const
inline

Definition at line 279 of file SpatialAlgebraOperators.h.

## ◆ E

 Matrix3d E

Definition at line 311 of file SpatialAlgebraOperators.h.

## ◆ r

 Vector3d r

Definition at line 312 of file SpatialAlgebraOperators.h.

The documentation for this struct was generated from the following file: