#include <MRRigidScaleXf3.h>
Public Types | |
using | V = Vector3<T> |
Public Member Functions | |
constexpr | RigidScaleXf3 () noexcept=default |
constexpr | RigidScaleXf3 (const V &a, const V &b, T s) noexcept |
template<typename U > | |
constexpr | RigidScaleXf3 (const RigidScaleXf3< U > &xf) noexcept |
template<typename U > | |
constexpr | RigidScaleXf3 (const RigidXf3< U > &xf) noexcept |
AffineXf3< T > | rigidScaleXf () const |
converts this into rigid (with scale) transformation, which non-linearly depends on angles | |
AffineXf3< T > | linearXf () const |
converts this into not-rigid transformation but with matrix, which linearly depends on angles | |
Public Attributes | |
V | a |
rotation angles relative to x,y,z axes | |
V | b |
shift | |
T | s = 1 |
scaling | |
rigid (with scale) transformation that multiplies all distances on same scale: y = s*A*x + b, where s is a scalar, A is rotation matrix 3x3 stored as 3 angles, and b is shift vector
using MR::RigidScaleXf3< T >::V = Vector3<T> |
|
constexprdefaultnoexcept |
|
inlineconstexprnoexcept |
|
inlineexplicitconstexprnoexcept |
|
inlineexplicitconstexprnoexcept |
|
inlinenodiscard |
converts this into not-rigid transformation but with matrix, which linearly depends on angles
|
inlinenodiscard |
converts this into rigid (with scale) transformation, which non-linearly depends on angles
V MR::RigidScaleXf3< T >::a |
rotation angles relative to x,y,z axes
V MR::RigidScaleXf3< T >::b |
shift
T MR::RigidScaleXf3< T >::s = 1 |
scaling