Public Types | Public Member Functions | Static Public Member Functions | List of all members
euler Class Reference

A coordinateRotation defined in the z-x-z (intrinsic) Euler convention. More...

Inheritance diagram for euler:
Inheritance graph
[legend]
Collaboration diagram for euler:
Collaboration graph
[legend]

Public Types

using eulerOrder = quaternion::eulerOrder
 

Public Member Functions

 TypeNameNoDebug ("euler")
 
 euler ()
 
 euler (const euler &crot)
 
 euler (const vector &angles, bool degrees)
 
 euler (scalar angle1, scalar angle2, scalar angle3, bool degrees)
 
 euler (const dictionary &dict)
 
autoPtr< coordinateRotationclone () const
 
virtual ~euler ()=default
 
virtual void clear ()
 
virtual tensor R () const
 
virtual void write (Ostream &os) const
 
virtual void writeEntry (const word &keyword, Ostream &os) const
 
- Public Member Functions inherited from coordinateRotation
 TypeNameNoDebug ("coordinateRotation")
 
 declareRunTimeSelectionTable (autoPtr, coordinateRotation, dictionary,(const dictionary &dict),(dict))
 
virtual ~coordinateRotation ()=default
 

Static Public Member Functions

static tensor rotation (const vector &angles, bool degrees=false)
 
static tensor rotation (const eulerOrder order, const vector &angles, bool degrees=false)
 
- Static Public Member Functions inherited from coordinateRotation
static autoPtr< coordinateRotationNew (const dictionary &dict)
 

Additional Inherited Members

- Static Protected Member Functions inherited from coordinateRotation
static vector findOrthogonal (const vector &axis)
 

Detailed Description

A coordinateRotation defined in the z-x-z (intrinsic) Euler convention.

The 3 rotations are defined in the Euler intrinsic convention (around Z, around X' and around Z''). The order of the parameter arguments matches this rotation order.

For reference and illustration, see https://en.wikipedia.org/wiki/Euler_angles

rotation
{
    type    euler;
    angles  (0 0 180);
}


Dictionary entries

Property Description Required Default
type Type name: euler (or EulerRotation) yes
angles The z-x-z rotation angles yes
degrees Angles are in degrees no true
Source files

Definition at line 93 of file EulerCoordinateRotation.H.

Member Typedef Documentation

◆ eulerOrder

Definition at line 102 of file EulerCoordinateRotation.H.

Constructor & Destructor Documentation

◆ euler() [1/5]

euler ( )

Definition at line 243 of file EulerCoordinateRotation.C.

◆ euler() [2/5]

euler ( const euler crot)

Definition at line 252 of file EulerCoordinateRotation.C.

◆ euler() [3/5]

euler ( const vector angles,
bool  degrees 
)

Definition at line 262 of file EulerCoordinateRotation.C.

◆ euler() [4/5]

euler ( scalar  angle1,
scalar  angle2,
scalar  angle3,
bool  degrees 
)

Definition at line 275 of file EulerCoordinateRotation.C.

◆ euler() [5/5]

euler ( const dictionary dict)
explicit

Definition at line 289 of file EulerCoordinateRotation.C.

◆ ~euler()

virtual ~euler ( )
virtualdefault

Member Function Documentation

◆ TypeNameNoDebug()

TypeNameNoDebug ( "euler"  )

◆ clone()

autoPtr<coordinateRotation> clone ( ) const
inlinevirtual

Implements coordinateRotation.

Definition at line 143 of file EulerCoordinateRotation.H.

◆ rotation() [1/2]

Foam::tensor rotation ( const vector angles,
bool  degrees = false 
)
static

Definition at line 232 of file EulerCoordinateRotation.C.

Referenced by euler::R().

Here is the caller graph for this function:

◆ rotation() [2/2]

Foam::tensor rotation ( const eulerOrder  order,
const vector angles,
bool  degrees = false 
)
static

◆ clear()

void clear ( )
virtual

Implements coordinateRotation.

Definition at line 308 of file EulerCoordinateRotation.C.

References Foam::Zero.

◆ R()

Foam::tensor R ( ) const
virtual

Implements coordinateRotation.

Definition at line 315 of file EulerCoordinateRotation.C.

References euler::rotation().

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Implements coordinateRotation.

Definition at line 321 of file EulerCoordinateRotation.C.

References os().

Here is the call graph for this function:

◆ writeEntry()

void writeEntry ( const word keyword,
Ostream os 
) const
virtual

Implements coordinateRotation.

Definition at line 328 of file EulerCoordinateRotation.C.

References quaternion::eulerOrderNames, os(), and Foam::type().

Here is the call graph for this function:

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