Rigid Body Dynamics Library
SpatialTransform Struct Reference

Compact representation of spatial transformations. More...

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)
 
SpatialVector applyAdjoint (const SpatialVector &f_sp)
 
SpatialMatrix toMatrix () const
 
SpatialMatrix toMatrixAdjoint () const
 
SpatialMatrix toMatrixTranspose () const
 
SpatialTransform inverse () const
 
SpatialTransform operator* (const SpatialTransform &XT) const
 
void operator*= (const SpatialTransform &XT)
 

Data Fields

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.

Constructor & Destructor Documentation

◆ 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.

Member Function Documentation

◆ apply() [1/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.

◆ apply() [2/2]

◆ applyAdjoint()

SpatialVector applyAdjoint ( const SpatialVector f_sp)
inline

Definition at line 233 of file SpatialAlgebraOperators.h.

◆ applyTranspose() [1/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.

◆ applyTranspose() [2/2]

◆ 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.

◆ toMatrixAdjoint()

SpatialMatrix toMatrixAdjoint ( ) const
inline

Definition at line 263 of file SpatialAlgebraOperators.h.

◆ toMatrixTranspose()

SpatialMatrix toMatrixTranspose ( ) const
inline

Definition at line 279 of file SpatialAlgebraOperators.h.

Field Documentation

◆ E

Definition at line 311 of file SpatialAlgebraOperators.h.

◆ r

Definition at line 312 of file SpatialAlgebraOperators.h.


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