ldpk
Public Types | Public Member Functions | List of all members
ldpk::linear_extender< VEC2, MAT2 > Class Template Reference

A general linear extender, based on a 2x2-matrix. More...

#include <ldpk_linear_extender.h>

Inheritance diagram for ldpk::linear_extender< VEC2, MAT2 >:
Inheritance graph
[legend]
Collaboration diagram for ldpk::linear_extender< VEC2, MAT2 >:
Collaboration graph
[legend]

Public Types

typedef VEC2 vec2_type
 
typedef MAT2 mat2_type
 
- Public Types inherited from ldpk::extender_base< VEC2, MAT2 >
typedef VEC2 vec2_type
 
typedef MAT2 mat2_type
 

Public Member Functions

 linear_extender ()
 Default: unit matrix.
 
void set (const mat2_type &m)
 Passing the matrix.
 
template<class E0 >
void set (const E0 &e0)
 Building the matrix from one extender.
 
template<class E0 , class E1 >
void set (const E0 &e0, const E1 &e1)
 Building the matrix from two extenders. Order is m(E0) * m(E1).
 
template<class E0 , class E1 , class E2 >
void set (const E0 &e0, const E1 &e1, const E2 &e2)
 Building the matrix from three extenders. Order is m(E0) * m(E1) * m(E2).
 
template<class E0 , class E1 , class E2 , class E3 >
void set (const E0 &e0, const E1 &e1, const E2 &e2, const E3 &e3)
 Building the matrix from four extenders. Order is m(E0) * m(E1) * m(E2) * m(E3).
 
template<class E0 , class E1 , class E2 , class E3 , class E4 >
void set (const E0 &e0, const E1 &e1, const E2 &e2, const E3 &e3, const E4 &e4)
 Building the matrix from five extenders. Order is m(E0) * m(E1) * m(E2) * m(E3) * m(E4).
 
vec2_type eval (const vec2_type &p) const
 eval() is per definition removal of lens distortion (undistort).
 
vec2_type eval_inv (const vec2_type &q) const
 eval_inv() is applying lens distortion (distort)
 
vec2_type eval_inv (const vec2_type &q, const vec2_type &p_start) const
 Generally (but not here), an initial value is needed for calculating the inverse.
 
const mat2_type & get_mat () const
 The matrix for this extender.
 
const mat2_type & get_mat_inv () const
 The inverse matrix for this extender.
 

Detailed Description

template<class VEC2, class MAT2>
class ldpk::linear_extender< VEC2, MAT2 >

A general linear extender, based on a 2x2-matrix.


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