Loading...
Searching...
No Matches
spatialTransform Class Reference

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

#include <spatialTransform.H>

Classes

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

Public Member Functions

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

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 62 of file spatialTransform.H.

Constructor & Destructor Documentation

◆ spatialTransform() [1/3]

spatialTransform ( )
inline

Construct null.

Definition at line 33 of file spatialTransformI.H.

References Foam::I, and Foam::Zero.

Referenced by spatialTransform::dual::dual(), inv(), operator&(), operator&=(), operator<<, operator>>, and spatialTransform::transpose::transpose().

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 40 of file spatialTransformI.H.

References E(), and r().

Here is the call graph for this function:

◆ spatialTransform() [3/3]

spatialTransform ( Istream & is)
inline

Construct from Istream.

Definition at line 51 of file spatialTransformI.H.

Member Function Documentation

◆ E() [1/2]

const Foam::tensor & E ( ) const
inline

Return the rotation tensor.

Definition at line 72 of file spatialTransformI.H.

Referenced by Pxyz::jcalc(), Rs::jcalc(), Rxyz::jcalc(), Ryxz::jcalc(), Rzyx::jcalc(), Foam::operator>>(), spatialTransform(), rigidBodyMotion::status(), and Foam::RBD::transform().

Here is the caller graph for this function:

◆ E() [2/2]

Foam::tensor & E ( )
inline

Return non-const access to the rotation tensor.

Definition at line 77 of file spatialTransformI.H.

◆ r() [1/2]

const Foam::vector & r ( ) const
inline

Return the translation vector.

Definition at line 82 of file spatialTransformI.H.

Referenced by rigidBodyMotion::cCofR(), Pxyz::jcalc(), Rs::jcalc(), Rxyz::jcalc(), Ryxz::jcalc(), Rzyx::jcalc(), Foam::operator>>(), spatialTransform(), rigidBodyMotion::status(), and Foam::RBD::transform().

Here is the caller graph for this function:

◆ r() [2/2]

Foam::vector & r ( )
inline

Return non-const access to the translation vector.

Definition at line 87 of file spatialTransformI.H.

◆ T()

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

X^T

Definition at line 93 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 99 of file spatialTransformI.H.

References 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 107 of file spatialTransformI.H.

◆ operator spatialTensor()

operator spatialTensor ( ) const
inline

Return transformation tensor ^BX_A.

X

Definition at line 113 of file spatialTransformI.H.

References Foam::Zero.

◆ operator&=()

void operator&= ( const spatialTransform & X)
inline

Inner-product multiply with a transformation tensor.

Definition at line 123 of file spatialTransformI.H.

References spatialTransform().

Here is the call graph for this function:

◆ operator&() [1/2]

Foam::spatialTransform operator& ( const spatialTransform & X) const
inline

Return the inner-product of two transformation tensors.

Definition at line 130 of file spatialTransformI.H.

References spatialTransform().

Here is the call graph for this function:

◆ operator&() [2/2]

Foam::spatialVector operator& ( const spatialVector & v) const
inline

Transform v: ^BX_A . v.

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

Definition at line 139 of file spatialTransformI.H.

◆ transformPoint()

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

Transform position p.

X:p = E . (pl - r)

Definition at line 165 of file spatialTransformI.H.

References p.

Referenced by rigidBodyMotion::transformPoints(), and rigidBodyMotion::transformPoints().

Here is the caller graph for this function:

◆ operator&&()

Foam::spatialVector operator&& ( const spatialVector & v) const
inline

Transform position p.

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

Definition at line 152 of file spatialTransformI.H.

◆ operator>>

Istream & operator>> ( Istream & ,
spatialTransform &  )
friend

References spatialTransform().

◆ operator<<

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

References spatialTransform().


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