vectorTensorTransform Class Reference

Vector-tensor class used to perform translations and rotations in 3D space. More...

Collaboration diagram for vectorTensorTransform:

Public Member Functions

 vectorTensorTransform ()
 Construct null. More...
 
 vectorTensorTransform (const vector &t, const tensor &R, bool hasR=true)
 Construct given a translation vector, rotation tensor and. More...
 
 vectorTensorTransform (const vector &t)
 Construct a pure translation vectorTensorTransform given a. More...
 
 vectorTensorTransform (const tensor &R)
 Construct a pure rotation vectorTensorTransform given a. More...
 
 vectorTensorTransform (Istream &)
 Construct from Istream. More...
 
const vectort () const
 
const tensorR () const
 
bool hasR () const
 
vectort ()
 
tensorR ()
 
vector transformPosition (const vector &v) const
 Transform the given position. More...
 
pointField transformPosition (const pointField &pts) const
 Transform the given pointField. More...
 
vector invTransformPosition (const vector &v) const
 Inverse transform the given position. More...
 
pointField invTransformPosition (const pointField &pts) const
 Inverse transform the given pointField. More...
 
template<class Type >
Type transform (const Type &) const
 Transform the given type. More...
 
template<class Type >
tmp< Field< Type > > transform (const Field< Type > &) const
 Transform the given field. More...
 
template<class Type >
Type invTransform (const Type &) const
 Inverse transform the given type. More...
 
template<class Type >
tmp< Field< Type > > invTransform (const Field< Type > &) const
 Inverse transform the given field. More...
 
void operator &= (const vectorTensorTransform &)
 
void operator= (const vector &)
 
void operator+= (const vector &)
 
void operator-= (const vector &)
 
void operator= (const tensor &)
 
void operator &= (const tensor &)
 
template<>
Foam::tmp< Foam::Field< bool > > transform (const Field< bool > &fld) const
 
template<>
Foam::tmp< Foam::Field< Foam::label > > transform (const Field< label > &fld) const
 
template<>
Foam::tmp< Foam::Field< Foam::scalar > > transform (const Field< scalar > &fld) const
 
template<>
tmp< Field< bool > > transform (const Field< bool > &) const
 Template specialisations. More...
 
template<>
tmp< Field< label > > transform (const Field< label > &) const
 
template<>
tmp< Field< scalar > > transform (const Field< scalar > &) const
 
template<class Type >
Foam::tmp< Foam::Field< Type > > transform (const Field< Type > &fld) const
 
template<class Type >
Foam::tmp< Foam::Field< Type > > invTransform (const Field< Type > &fld) const
 

Static Public Attributes

static const char *const typeName
 
static const vectorTensorTransform zero
 
static const vectorTensorTransform I
 

Friends

Istreamoperator>> (Istream &is, vectorTensorTransform &)
 
Ostreamoperator<< (Ostream &os, const vectorTensorTransform &)
 

Detailed Description

Vector-tensor class used to perform translations and rotations in 3D space.

Source files

Definition at line 62 of file vectorTensorTransform.H.

Constructor & Destructor Documentation

◆ vectorTensorTransform() [1/5]

Construct null.

Definition at line 28 of file vectorTensorTransformI.H.

Referenced by Foam::inv(), Foam::operator+(), and Foam::operator-().

Here is the caller graph for this function:

◆ vectorTensorTransform() [2/5]

vectorTensorTransform ( const vector t,
const tensor R,
bool  hasR = true 
)
inline

Construct given a translation vector, rotation tensor and.

hasR bool

Definition at line 37 of file vectorTensorTransformI.H.

◆ vectorTensorTransform() [3/5]

vectorTensorTransform ( const vector t)
inlineexplicit

Construct a pure translation vectorTensorTransform given a.

translation vector

Definition at line 49 of file vectorTensorTransformI.H.

◆ vectorTensorTransform() [4/5]

vectorTensorTransform ( const tensor R)
inlineexplicit

Construct a pure rotation vectorTensorTransform given a.

rotation tensor

Definition at line 57 of file vectorTensorTransformI.H.

◆ vectorTensorTransform() [5/5]

Construct from Istream.

Definition at line 53 of file vectorTensorTransform.C.

Member Function Documentation

◆ t() [1/2]

◆ R() [1/2]

◆ hasR()

◆ t() [2/2]

Foam::vector & t ( )
inline

Definition at line 85 of file vectorTensorTransformI.H.

◆ R() [2/2]

Foam::tensor & R ( )
inline

Definition at line 91 of file vectorTensorTransformI.H.

References vectorTensorTransform::transformPosition().

Here is the call graph for this function:

◆ transformPosition() [1/2]

Foam::vector transformPosition ( const vector v) const
inline

Transform the given position.

Definition at line 103 of file vectorTensorTransformI.H.

References vectorTensorTransform::R(), and vectorTensorTransform::t().

Referenced by mapDistribute::transformPosition::operator()(), vectorTensorTransform::R(), and cyclicRepeatAMIPolyPatch::resetAMI().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transformPosition() [2/2]

Foam::pointField transformPosition ( const pointField pts) const
inline

Transform the given pointField.

Definition at line 119 of file vectorTensorTransformI.H.

References vectorTensorTransform::invTransformPosition(), vectorTensorTransform::R(), and vectorTensorTransform::t().

Here is the call graph for this function:

◆ invTransformPosition() [1/2]

Foam::vector invTransformPosition ( const vector v) const
inline

Inverse transform the given position.

Definition at line 138 of file vectorTensorTransformI.H.

References vectorTensorTransform::R(), Foam::T(), and vectorTensorTransform::t().

Referenced by mapDistribute::transformPosition::operator()(), particle< Type >::prepareForInteractionListReferral(), and vectorTensorTransform::transformPosition().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ invTransformPosition() [2/2]

Foam::pointField invTransformPosition ( const pointField pts) const
inline

Inverse transform the given pointField.

Definition at line 154 of file vectorTensorTransformI.H.

References vectorTensorTransform::R(), vectorTensorTransform::t(), Tensor< Cmpt >::T(), and Foam::tr().

Here is the call graph for this function:

◆ transform() [1/9]

Type transform ( const Type &  x) const

Transform the given type.

Definition at line 29 of file vectorTensorTransformTemplates.C.

References vectorTensorTransform::R(), Foam::transform(), and x.

Referenced by Foam::contiguous< vectorTensorTransform >(), Foam::name(), and vectorTensorTransform::transform().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transform() [2/9]

tmp<Field<Type> > transform ( const Field< Type > &  ) const

Transform the given field.

◆ invTransform() [1/3]

Type invTransform ( const Type &  x) const

Inverse transform the given type.

Definition at line 60 of file vectorTensorTransformTemplates.C.

References vectorTensorTransform::R(), Foam::T(), Foam::transform(), and x.

Here is the call graph for this function:

◆ invTransform() [2/3]

tmp<Field<Type> > invTransform ( const Field< Type > &  ) const

Inverse transform the given field.

◆ operator &=() [1/2]

void operator&= ( const vectorTensorTransform )
inline

Referenced by vectorTensorTransform::operator=().

Here is the caller graph for this function:

◆ operator=() [1/2]

void operator= ( const vector t)
inline

Definition at line 188 of file vectorTensorTransformI.H.

References vectorTensorTransform::t().

Here is the call graph for this function:

◆ operator+=()

void operator+= ( const vector t)
inline

Definition at line 194 of file vectorTensorTransformI.H.

References vectorTensorTransform::t().

Here is the call graph for this function:

◆ operator-=()

void operator-= ( const vector t)
inline

Definition at line 200 of file vectorTensorTransformI.H.

References vectorTensorTransform::t().

Here is the call graph for this function:

◆ operator=() [2/2]

void operator= ( const tensor R)
inline

Definition at line 206 of file vectorTensorTransformI.H.

References vectorTensorTransform::operator &=(), and vectorTensorTransform::R().

Here is the call graph for this function:

◆ operator &=() [2/2]

void operator&= ( const tensor )
inline

◆ transform() [3/9]

Foam::tmp<Foam::Field<bool> > transform ( const Field< bool > &  fld) const

Definition at line 73 of file vectorTensorTransform.C.

References fld(), and vectorTensorTransform::transform().

Here is the call graph for this function:

◆ transform() [4/9]

Foam::tmp<Foam::Field<Foam::label> > transform ( const Field< label > &  fld) const

Definition at line 81 of file vectorTensorTransform.C.

References fld(), and vectorTensorTransform::transform().

Here is the call graph for this function:

◆ transform() [5/9]

Foam::tmp<Foam::Field<Foam::scalar> > transform ( const Field< scalar > &  fld) const

Definition at line 89 of file vectorTensorTransform.C.

References fld().

Here is the call graph for this function:

◆ transform() [6/9]

tmp<Field<bool> > transform ( const Field< bool > &  ) const

Template specialisations.

◆ transform() [7/9]

tmp<Field<label> > transform ( const Field< label > &  ) const

◆ transform() [8/9]

tmp<Field<scalar> > transform ( const Field< scalar > &  ) const

◆ transform() [9/9]

Foam::tmp<Foam::Field<Type> > transform ( const Field< Type > &  fld) const

Definition at line 44 of file vectorTensorTransformTemplates.C.

References fld(), vectorTensorTransform::R(), and Foam::transform().

Here is the call graph for this function:

◆ invTransform() [3/3]

Foam::tmp<Foam::Field<Type> > invTransform ( const Field< Type > &  fld) const

Definition at line 75 of file vectorTensorTransformTemplates.C.

References fld(), vectorTensorTransform::R(), Foam::T(), and Foam::transform().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator>>

Istream& operator>> ( Istream is,
vectorTensorTransform  
)
friend

◆ operator<<

Ostream& operator<< ( Ostream os,
const vectorTensorTransform  
)
friend

Member Data Documentation

◆ typeName

const char *const typeName
static
Initial value:
=
"vectorTensorTransform"

Definition at line 82 of file vectorTensorTransform.H.

◆ zero

Definition at line 84 of file vectorTensorTransform.H.

◆ I


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