A coordinateRotation defined in the z-x-z (intrinsic) Euler convention. More...
Public Types | |
using | eulerOrder = quaternion::eulerOrder |
Euler-angle rotation order. More... | |
Public Member Functions | |
TypeNameNoDebug ("euler") | |
Runtime type information. More... | |
euler () | |
Default construct - an identity transform. More... | |
euler (const euler &crot) | |
Copy construct. More... | |
euler (const vector &angles, bool degrees) | |
Construct from Euler intrinsic rotation angles (z-x-z) More... | |
euler (scalar angle1, scalar angle2, scalar angle3, bool degrees) | |
Construct from Euler intrinsic rotation angles (z-x-z) More... | |
euler (const dictionary &dict) | |
Construct from dictionary. More... | |
autoPtr< coordinateRotation > | clone () const |
Return clone. More... | |
virtual | ~euler ()=default |
Destructor. More... | |
virtual void | clear () |
Reset specification. More... | |
virtual tensor | R () const |
The rotation tensor calculated for the specified Euler angles. More... | |
virtual void | write (Ostream &os) const |
Write information. More... | |
virtual void | writeEntry (const word &keyword, Ostream &os) const |
Write dictionary entry. More... | |
Public Member Functions inherited from coordinateRotation | |
TypeNameNoDebug ("coordinateRotation") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, coordinateRotation, dictionary,(const dictionary &dict),(dict)) | |
virtual | ~coordinateRotation ()=default |
Destructor. More... | |
Static Public Member Functions | |
static tensor | rotation (const vector &angles, bool degrees=false) |
Rotation tensor calculated for the intrinsic Euler angles in z-x-z order. More... | |
static tensor | rotation (const eulerOrder order, const vector &angles, bool degrees=false) |
Rotation tensor calculated for given order and angles. More... | |
Static Public Member Functions inherited from coordinateRotation | |
static autoPtr< coordinateRotation > | New (const word &modelType, const dictionary &dict) |
Select construct the specified coordinate rotation type. More... | |
static autoPtr< coordinateRotation > | New (const dictionary &dict) |
Select construct from dictionary (requires the "type" entry) More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from coordinateRotation | |
static vector | findOrthogonal (const vector &axis) |
Determine best-guess for an orthogonal axis. More... | |
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 | Reqd | Default |
---|---|---|---|
type | Type name: euler | yes | |
angles | Rotation angles (usually z-x-z order) | yes | |
degrees | Angles are in degrees | no | true |
order | Rotation order | no | zxz |
Definition at line 104 of file EulerCoordinateRotation.H.
using eulerOrder = quaternion::eulerOrder |
Euler-angle rotation order.
Definition at line 115 of file EulerCoordinateRotation.H.
euler | ( | ) |
Default construct - an identity transform.
Definition at line 246 of file EulerCoordinateRotation.C.
Copy construct.
Definition at line 255 of file EulerCoordinateRotation.C.
Construct from Euler intrinsic rotation angles (z-x-z)
Definition at line 265 of file EulerCoordinateRotation.C.
euler | ( | scalar | angle1, |
scalar | angle2, | ||
scalar | angle3, | ||
bool | degrees | ||
) |
Construct from Euler intrinsic rotation angles (z-x-z)
Definition at line 278 of file EulerCoordinateRotation.C.
|
explicit |
Construct from dictionary.
Definition at line 292 of file EulerCoordinateRotation.C.
|
virtualdefault |
Destructor.
TypeNameNoDebug | ( | "euler" | ) |
Runtime type information.
|
inlinevirtual |
Return clone.
Implements coordinateRotation.
Definition at line 176 of file EulerCoordinateRotation.H.
|
static |
Rotation tensor calculated for the intrinsic Euler angles in z-x-z order.
Definition at line 235 of file EulerCoordinateRotation.C.
Referenced by euler::R().
|
static |
Rotation tensor calculated for given order and angles.
Definition at line 62 of file EulerCoordinateRotation.C.
References Foam::abort(), Foam::constant::physicoChemical::c1, Foam::constant::physicoChemical::c2, Foam::cos(), Foam::degToRad(), Foam::FatalError, FatalErrorInFunction, Foam::I, and Foam::sin().
|
virtual |
Reset specification.
Implements coordinateRotation.
Definition at line 311 of file EulerCoordinateRotation.C.
References Foam::Zero.
|
virtual |
The rotation tensor calculated for the specified Euler angles.
Implements coordinateRotation.
Definition at line 318 of file EulerCoordinateRotation.C.
References euler::rotation().
|
virtual |
Write information.
Implements coordinateRotation.
Definition at line 324 of file EulerCoordinateRotation.C.
References os().
Write dictionary entry.
Implements coordinateRotation.
Definition at line 331 of file EulerCoordinateRotation.C.
References quaternion::eulerOrderNames, os(), and Foam::type().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.