MeshLib C++ Docs
Loading...
Searching...
No Matches

#include <MRMesh/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: