MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::AffineXf< V > Struct Template Reference

#include <MRAffineXf.h>

Public Types

using T = typename V::ValueType
 
using M = typename V::MatrixType
 

Public Member Functions

constexpr AffineXf () noexcept=default
 
constexpr AffineXf (const M &A, const V &b) noexcept
 
template<typename U >
 MR_REQUIRES_IF_SUPPORTED (!std::is_same_v< U, V >) const expr explicit AffineXf(const AffineXf< U > &xf) noexcept
 
constexpr V operator() (const V &x) const noexcept
 application of the transformation to a point
 
constexpr V linearOnly (const V &x) const noexcept
 

Static Public Member Functions

static constexpr AffineXf translation (const V &b) noexcept
 creates translation-only transformation (with identity linear component)
 
static constexpr AffineXf linear (const M &A) noexcept
 creates linear-only transformation (without translation)
 
static constexpr AffineXf xfAround (const M &A, const V &stable) noexcept
 creates transformation with given linear part with given stable point
 

Public Attributes

M A
 
b
 

Friends

constexpr AffineXf inverse() const noexcept MR_REQUIRES_IF_SUPPORTED(!std friend AffineXf< V > operator* (const AffineXf< V > &u, const AffineXf< V > &v)
 computes inverse transformation
 
bool operator== (const AffineXf< V > &a, const AffineXf< V > &b)
 
bool operator!= (const AffineXf< V > &a, const AffineXf< V > &b)
 
std::ostream & operator<< (std::ostream &s, const AffineXf &xf)
 
std::istream & operator>> (std::istream &s, AffineXf &xf)
 

Detailed Description

template<typename V>
struct MR::AffineXf< V >

affine transformation: y = A*x + b, where A in VxV, and b in V


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