![]() |
KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Class for applying parametrically defined affine transformations. More...
#include <parametric_affine_transform.h>
Public Member Functions | |
Life Cycle | |
| ParametricAffineTransform (const Parameters axis, const Parameters angle, const Parameters referencePoint, const Parameters translationVector) | |
| Construct via axis & angle. More... | |
| ParametricAffineTransform (const Parameters eulerAngles, const Parameters referencePoint, const Parameters translationVector) | |
| Construct via euler angles. More... | |
Operations | |
| array_1d< double, 3 > | Apply (const array_1d< double, 3 > &rPoint, const double t, const double X=0.0, const double Y=0.0, const double Z=0.0) |
| Evaluate the transformation at the given location and apply it to a position vector, returning its transformed version. More... | |
Type definitions | |
| using | FunctionType = GenericFunctionUtility |
| KRATOS_CLASS_POINTER_DEFINITION (ParametricAffineTransform) | |
Additional Inherited Members | |
Protected Member Functions inherited from Kratos::AffineTransform | |
| KRATOS_CLASS_POINTER_DEFINITION (AffineTransform) | |
| AffineTransform () | |
| Default constructor sets up an identity transform. More... | |
| AffineTransform (const array_1d< double, 3 > &rAxis, const double angle, const array_1d< double, 3 > &rReferencePoint, const array_1d< double, 3 > &rTranslationVector) | |
| Construct from axis and angle. More... | |
| AffineTransform (const array_1d< double, 3 > &rEulerAngles, const array_1d< double, 3 > &rReferencePoint, const array_1d< double, 3 > &rTranslationVector) | |
| Construct from euler angles. More... | |
| AffineTransform (const Quaternion< double > &rQuaternion, const array_1d< double, 3 > &rReferencePoint, const array_1d< double, 3 > &rTranslationVector) | |
| Construct from a quaternion. More... | |
| void | SetRotation (const array_1d< double, 3 > &rAxis, const double angle, const array_1d< double, 3 > &rReferencePoint) |
| Set rotation from an axis and an angle. More... | |
| void | SetRotation (const array_1d< double, 3 > &rEulerAngles, const array_1d< double, 3 > &rReferencePoint) |
| Set rotation from euler angles. More... | |
| void | SetRotation (const Quaternion< double > &rQuaternion, const array_1d< double, 3 > &rReferencePoint) |
| Set rotation from a quaternion. More... | |
| void | SetTranslation (const array_1d< double, 3 > &rTranslationVector) |
| Set translation part of the transformation. More... | |
| array_1d< double, 3 > | Apply (const array_1d< double, 3 > &rPoint) const |
| Return the transformed version of the input vector. More... | |
Protected Attributes inherited from Kratos::AffineTransform | |
| array_1d< double, 3 > | mReferencePoint |
| array_1d< double, 3 > | mTranslationVector |
| Matrix | mRotationMatrix |
Class for applying parametrically defined affine transformations.
see AffineTransform for transform conventions. Every transform parameter is parsed from an input Parameters to a GenericFunctionUtility that is evaluated on each application of the transform.
| Kratos::ParametricAffineTransform::ParametricAffineTransform | ( | const Parameters | axis, |
| const Parameters | angle, | ||
| const Parameters | referencePoint, | ||
| const Parameters | translationVector | ||
| ) |
Construct via axis & angle.
| rAxis | axis of rotation (array of size 3) |
| rAngle | angle of rotation (in radians, scalar) |
| rReferencePoint | a point on the axis of rotation (array of size 3) |
| rTranslationVector | translation vector (array of size 3) |
| Kratos::ParametricAffineTransform::ParametricAffineTransform | ( | const Parameters | eulerAngles, |
| const Parameters | referencePoint, | ||
| const Parameters | translationVector | ||
| ) |
Construct via euler angles.
| rEulerAngles | euler angles (radians, array of size 3) |
| rReferencePoint | origin of rotation (array of size 3) |
| rTranslationVector | translation vector (array of size 3) |
| array_1d< double, 3 > Kratos::ParametricAffineTransform::Apply | ( | const array_1d< double, 3 > & | rPoint, |
| const double | t, | ||
| const double | X = 0.0, |
||
| const double | Y = 0.0, |
||
| const double | Z = 0.0 |
||
| ) |
Evaluate the transformation at the given location and apply it to a position vector, returning its transformed version.
| rPoint | point to be transformed; it also acts as the current position input to GenericFunctionUtility. |
| t | time, see GenericFunctionUtility. |
| X | initial x-coordinate, see GenericFunctionUtility. |
| Y | initial y-coordinate, see GenericFunctionUtility. |
| Z | initial z-coordinate, see GenericFunctionUtility. |
| Kratos::ParametricAffineTransform::KRATOS_CLASS_POINTER_DEFINITION | ( | ParametricAffineTransform | ) |