Public Member Functions | Static Public Attributes | Private Attributes | Friends
vectorTensorTransform Class Reference

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

Collaboration diagram for vectorTensorTransform:
Collaboration graph
[legend]

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 >
tmp< Field< Type > > transform (const Field< Type > &) const
 Transform the given field. More...
 
void operator= (const vectorTensorTransform &)
 
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 specialisations. More...
 
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<class Type >
Foam::tmp< Foam::Field< Type > > transform (const Field< Type > &fld) const
 

Static Public Attributes

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

Private Attributes

vector t_
 Translation vector. More...
 
tensor R_
 Rotation tensor. More...
 
bool hasR_
 Recording if the transform has non-identity transform to. More...
 

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 61 of file vectorTensorTransform.H.

Constructor & Destructor Documentation

◆ vectorTensorTransform() [1/5]

Construct null.

Definition at line 28 of file vectorTensorTransformI.H.

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

Foam::vector & t ( ) const
inline

◆ R() [1/2]

Foam::tensor & R ( ) const
inline

◆ hasR()

bool hasR ( ) const
inline

◆ t() [2/2]

vector& t ( )
inline

◆ R() [2/2]

tensor& R ( )
inline

◆ transformPosition() [1/2]

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

Transform the given position.

Definition at line 103 of file vectorTensorTransformI.H.

References R.

Referenced by mapDistribute::transformPosition::operator()().

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

◆ 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 R, and Foam::T().

Referenced by mapDistribute::transformPosition::operator()().

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

◆ transform() [1/5]

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

Transform the given field.

◆ operator=() [1/3]

void operator= ( const vectorTensorTransform tr)
inline

Definition at line 175 of file vectorTensorTransformI.H.

References Foam::tr().

Here is the call graph for this function:

◆ operator&=() [1/2]

void operator&= ( const vectorTensorTransform tr)
inline

Definition at line 186 of file vectorTensorTransformI.H.

References Foam::tr().

Here is the call graph for this function:

◆ operator=() [2/3]

void operator= ( const vector t)
inline

Definition at line 199 of file vectorTensorTransformI.H.

◆ operator+=()

void operator+= ( const vector t)
inline

Definition at line 205 of file vectorTensorTransformI.H.

◆ operator-=()

void operator-= ( const vector t)
inline

Definition at line 211 of file vectorTensorTransformI.H.

◆ operator=() [3/3]

void operator= ( const tensor R)
inline

Definition at line 217 of file vectorTensorTransformI.H.

References R.

◆ operator&=() [2/2]

void operator&= ( const tensor R)
inline

Definition at line 225 of file vectorTensorTransformI.H.

References R.

◆ transform() [2/5]

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

Template specialisations.

Definition at line 73 of file vectorTensorTransform.C.

References fld().

Here is the call graph for this function:

◆ transform() [3/5]

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

Definition at line 81 of file vectorTensorTransform.C.

References fld().

Here is the call graph for this function:

◆ transform() [4/5]

tmp< Field< 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() [5/5]

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

Definition at line 30 of file vectorTensorTransformTemplates.C.

References fld(), and R.

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

Field Documentation

◆ t_

vector t_
private

Translation vector.

Definition at line 66 of file vectorTensorTransform.H.

◆ R_

tensor R_
private

Rotation tensor.

Definition at line 69 of file vectorTensorTransform.H.

◆ hasR_

bool hasR_
private

Recording if the transform has non-identity transform to.

allow its calculation to be skipped, which is the majority of the expected cases

Definition at line 74 of file vectorTensorTransform.H.

◆ typeName

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

Definition at line 81 of file vectorTensorTransform.H.

◆ zero

Definition at line 83 of file vectorTensorTransform.H.

◆ I

Definition at line 85 of file vectorTensorTransform.H.


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