spatialTransform Class Reference

Compact representation of the Plücker spatial transformation tensor in terms of the rotation tensor E and translation vector r . More...

Classes

class  dual
 Wrapper-class to provide dual functions and operators. More...
 
class  transpose
 Wrapper-class to provide transpose functions and operators. More...
 

Public Member Functions

 spatialTransform ()
 Construct null. More...
 
 spatialTransform (const tensor &E, const vector &r)
 Construct from components. More...
 
 spatialTransform (Istream &)
 Construct from Istream. More...
 
const tensorE () const
 Return the rotation tensor. More...
 
tensorE ()
 Return non-const access to the rotation tensor. More...
 
const vectorr () const
 Return the translation vector. More...
 
vectorr ()
 Return non-const access to the translation vector. More...
 
transpose T () const
 Return the transpose transformation tensor ^A{X^*}_B. More...
 
spatialTransform inv () const
 Return the inverse transformation tensor: X^-1. More...
 
dual operator* () const
 Return the dual transformation tensor ^B{X^*}_A. More...
 
 operator spatialTensor () const
 Return transformation tensor ^BX_A. More...
 
void operator &= (const spatialTransform &X)
 Inner-product multiply with a transformation tensor. More...
 
spatialTransform operator & (const spatialTransform &X) const
 Return the inner-product of two transformation tensors. More...
 
spatialVector operator & (const spatialVector &v) const
 Transform v: ^BX_A . v. More...
 
vector transformPoint (const vector &p) const
 Transform position p. More...
 
spatialVector operator && (const spatialVector &v) const
 Transform position p. More...
 

Friends

Istreamoperator>> (Istream &, spatialTransform &)
 
Ostreamoperator<< (Ostream &, const spatialTransform &)
 

Detailed Description

Compact representation of the Plücker spatial transformation tensor in terms of the rotation tensor E and translation vector r .

See Chapter 2 and Appendix A in reference:

    Featherstone, R. (2008).
    Rigid body dynamics algorithms.
    Springer.
Source files

Definition at line 68 of file spatialTransform.H.

Constructor & Destructor Documentation

◆ spatialTransform() [1/3]

spatialTransform ( )
inline

Construct null.

Definition at line 38 of file spatialTransformI.H.

Referenced by spatialTransform::inv(), spatialTransform::operator spatialTensor(), Foam::Xr(), Foam::Xrx(), Foam::Xry(), Foam::Xrz(), and Foam::Xt().

Here is the caller graph for this function:

◆ spatialTransform() [2/3]

spatialTransform ( const tensor E,
const vector r 
)
inline

Construct from components.

Definition at line 46 of file spatialTransformI.H.

◆ spatialTransform() [3/3]

spatialTransform ( Istream is)
inline

Construct from Istream.

Definition at line 56 of file spatialTransformI.H.

Member Function Documentation

◆ E() [1/2]

◆ E() [2/2]

Foam::tensor & E ( )
inline

Return non-const access to the rotation tensor.

Definition at line 82 of file spatialTransformI.H.

◆ r() [1/2]

◆ r() [2/2]

Foam::vector & r ( )
inline

Return non-const access to the translation vector.

Definition at line 92 of file spatialTransformI.H.

◆ T()

Return the transpose transformation tensor ^A{X^*}_B.

X^T

Definition at line 98 of file spatialTransformI.H.

◆ inv()

Foam::spatialTransform inv ( ) const
inline

Return the inverse transformation tensor: X^-1.

X^-1 = (E^T, −E.r)

Definition at line 104 of file spatialTransformI.H.

References spatialTransform::spatialTransform().

Here is the call graph for this function:

◆ operator*()

Foam::spatialTransform::dual operator* ( ) const
inline

Return the dual transformation tensor ^B{X^*}_A.

Definition at line 112 of file spatialTransformI.H.

References spatialTransform::dual::dual().

Here is the call graph for this function:

◆ operator spatialTensor()

operator spatialTensor ( ) const
inline

Return transformation tensor ^BX_A.

X

Definition at line 118 of file spatialTransformI.H.

References spatialTransform::operator &=(), spatialTransform::spatialTransform(), spatialTransform::transformPoint(), and Foam::Zero.

Here is the call graph for this function:

◆ operator &=()

void operator&= ( const spatialTransform X)
inline

Inner-product multiply with a transformation tensor.

Referenced by spatialTransform::operator spatialTensor().

Here is the caller graph for this function:

◆ operator &() [1/2]

spatialTransform operator& ( const spatialTransform X) const
inline

Return the inner-product of two transformation tensors.

◆ operator &() [2/2]

spatialVector operator& ( const spatialVector v) const
inline

Transform v: ^BX_A . v.

X.v = (E . vw, E . (vl - r^vw))

◆ transformPoint()

Foam::vector transformPoint ( const vector p) const
inline

Transform position p.

X:p = E . (pl - r)

Definition at line 171 of file spatialTransformI.H.

Referenced by spatialTransform::operator spatialTensor(), and rigidBodyMotion::transformPoints().

Here is the caller graph for this function:

◆ operator &&()

spatialVector operator&& ( const spatialVector v) const
inline

Transform position p.

X:p = (E . pw, E . (vl - r))

Friends And Related Function Documentation

◆ operator>>

Istream& operator>> ( Istream ,
spatialTransform  
)
friend

◆ operator<<

Ostream& operator<< ( Ostream ,
const spatialTransform  
)
friend

The documentation for this class was generated from the following files: