ldpk
ldpk_extender_base.h
1 #ifndef ldpk_extender_base_sdv
2 #define ldpk_extender_base_sdv
3 
4 #include <functional>
5 
6 namespace ldpk
7  {
15  template <class VEC2,class MAT2>
17  {
18  public:
19  typedef VEC2 vec2_type;
20  typedef MAT2 mat2_type;
21 
22  virtual ~extender_base()
23  { }
25  virtual vec2_type eval(const vec2_type& p) const = 0;
27  virtual vec2_type eval_inv(const vec2_type& q) const = 0;
29  virtual vec2_type eval_inv(const vec2_type& q,const vec2_type& p_start) const = 0;
31  virtual const mat2_type& get_mat() const = 0;
33  virtual const mat2_type& get_mat_inv() const = 0;
34  };
35  }
36 
37 #endif
Base class of all extenders The concept of extenders as turned out to be useful in the new-style dist...
Definition: ldpk_extender_base.h:16
The namespace of (most of the) things related to the Lens Distortion Plugin Kit.
Definition: ldpk.h:180
virtual vec2_type eval_inv(const vec2_type &q) const =0
eval_inv() is applying lens distortion (distort)
virtual const mat2_type & get_mat_inv() const =0
The inverse matrix for this extender.
virtual vec2_type eval(const vec2_type &p) const =0
eval() is by definition removal of lens distortion (undistort).
virtual const mat2_type & get_mat() const =0
The matrix for this extender.