MeshLib Documentation
Loading...
Searching...
No Matches
MR::RigidScaleXf3< T > Struct Template Reference

#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
 
s = 1
 scaling
 

Detailed Description

template<typename T>
struct MR::RigidScaleXf3< T >

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

Member Typedef Documentation

◆ V

template<typename T >
using MR::RigidScaleXf3< T >::V = Vector3<T>

Constructor & Destructor Documentation

◆ RigidScaleXf3() [1/4]

template<typename T >
MR::RigidScaleXf3< T >::RigidScaleXf3 ( )
constexprdefaultnoexcept

◆ RigidScaleXf3() [2/4]

template<typename T >
MR::RigidScaleXf3< T >::RigidScaleXf3 ( const V & a,
const V & b,
T s )
inlineconstexprnoexcept

◆ RigidScaleXf3() [3/4]

template<typename T >
template<typename U >
MR::RigidScaleXf3< T >::RigidScaleXf3 ( const RigidScaleXf3< U > & xf)
inlineexplicitconstexprnoexcept

◆ RigidScaleXf3() [4/4]

template<typename T >
template<typename U >
MR::RigidScaleXf3< T >::RigidScaleXf3 ( const RigidXf3< U > & xf)
inlineexplicitconstexprnoexcept

Member Function Documentation

◆ linearXf()

template<typename T >
AffineXf3< T > MR::RigidScaleXf3< T >::linearXf ( ) const
inlinenodiscard

converts this into not-rigid transformation but with matrix, which linearly depends on angles

◆ rigidScaleXf()

template<typename T >
AffineXf3< T > MR::RigidScaleXf3< T >::rigidScaleXf ( ) const
inlinenodiscard

converts this into rigid (with scale) transformation, which non-linearly depends on angles

Member Data Documentation

◆ a

template<typename T >
V MR::RigidScaleXf3< T >::a

rotation angles relative to x,y,z axes

◆ b

template<typename T >
V MR::RigidScaleXf3< T >::b

shift

◆ s

template<typename T >
T MR::RigidScaleXf3< T >::s = 1

scaling


The documentation for this struct was generated from the following file: