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 autoPtr< coordinateRotation > | clone () const =0 |
Construct and return a clone. More... | |
virtual | ~coordinateRotation ()=default |
Destructor. More... | |
virtual void | clear ()=0 |
Reset specification. More... | |
virtual tensor | R () const =0 |
Calculate and return the rotation tensor. More... | |
virtual void | write (Ostream &os) const =0 |
Write information. More... | |
virtual void | writeEntry (const word &keyword, Ostream &os) const =0 |
Write dictionary entry. More... | |
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) |
Rotation tensor calculated for given order and angles. More... | |
Static Public Member Functions inherited from coordinateRotation | |
static autoPtr< coordinateRotation > | New (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 108 of file EulerCoordinateRotation.H.
using eulerOrder = quaternion::eulerOrder |
Euler-angle rotation order.
Definition at line 117 of file EulerCoordinateRotation.H.
euler | ( | ) |
Default construct - an identity transform.
Definition at line 253 of file EulerCoordinateRotation.C.
Copy construct.
Definition at line 262 of file EulerCoordinateRotation.C.
Construct from Euler intrinsic rotation angles (z-x-z)
Definition at line 271 of file EulerCoordinateRotation.C.
Construct from Euler intrinsic rotation angles (z-x-z)
Definition at line 284 of file EulerCoordinateRotation.C.
|
explicit |
Construct from dictionary.
Definition at line 299 of file EulerCoordinateRotation.C.
|
virtualdefault |
Destructor.
TypeNameNoDebug | ( | "euler" | ) |
Runtime type information.
|
inlinevirtual |
Return clone.
Implements coordinateRotation.
Definition at line 158 of file EulerCoordinateRotation.H.
|
static |
Rotation tensor calculated for the intrinsic Euler angles in z-x-z order
Definition at line 241 of file EulerCoordinateRotation.C.
|
static |
Rotation tensor calculated for given order and angles.
Definition at line 68 of file EulerCoordinateRotation.C.
References Foam::abort(), Foam::cos(), Foam::degToRad(), Foam::FatalError, FatalErrorInFunction, SphericalTensor< scalar >::I, Foam::sin(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
|
virtual |
Reset specification.
Implements coordinateRotation.
Definition at line 318 of file EulerCoordinateRotation.C.
References Foam::Zero.
|
virtual |
The rotation tensor calculated for the specified Euler angles.
Implements coordinateRotation.
Definition at line 325 of file EulerCoordinateRotation.C.
References coordinateSystem::rotation().
|
virtual |
Write information.
Implements coordinateRotation.
Definition at line 331 of file EulerCoordinateRotation.C.
References os().
Write dictionary entry.
Implements coordinateRotation.
Definition at line 337 of file EulerCoordinateRotation.C.
References quaternion::eulerOrderNames, os(), and Foam::type().