19 class Disp2D_nlinfo_interpolator;
42 v(std::move(v), roi, scalefactor), u(std::move(u), roi, scalefactor), cc(std::move(cc), roi, scalefactor) { }
46 v(std::move(v), roi, scalefactor), u(std::move(u), roi, scalefactor),
58 friend void save(
const Disp2D&, std::ofstream&);
84 class Disp2D_nlinfo_interpolator final {
92 Disp2D_nlinfo_interpolator() noexcept = default;
93 Disp2D_nlinfo_interpolator(const Disp2D_nlinfo_interpolator&) = default;
94 Disp2D_nlinfo_interpolator(Disp2D_nlinfo_interpolator&&) = default;
95 Disp2D_nlinfo_interpolator& operator=(const Disp2D_nlinfo_interpolator&) = default;
96 Disp2D_nlinfo_interpolator& operator=(Disp2D_nlinfo_interpolator&&) = default;
97 ~Disp2D_nlinfo_interpolator() noexcept = default;
100 Disp2D_nlinfo_interpolator(const Disp2D &disp, difference_type region_idx,
INTERP interp_type) :
101 v_interp(disp.get_v().get_nlinfo_interpolator(region_idx,interp_type)),
102 u_interp(disp.get_u().get_nlinfo_interpolator(region_idx,interp_type)),
103 cc_interp(disp.get_cc().get_nlinfo_interpolator(region_idx,interp_type)) { }
106 std::pair<double,double> operator()(
double p1,
double p2)
const {
return { v_interp(p1,p2), u_interp(p1,p2) }; }
107 double get_cc(
double p1,
double p2)
const {
return cc_interp(p1, p2); }
108 std::pair<const Array2D<double>&,
const Array2D<double>&> first_order(
double p1,
double p2)
const {
return { v_interp.first_order(p1,p2), u_interp.first_order(p1,p2) }; }
details::Data2D_nlinfo_interpolator nlinfo_interpolator
const ROI2D & get_roi() const
difference_type get_scalefactor() const
std::ptrdiff_t difference_type
difference_type data_width() const
std::string size_string() const
std::pair< difference_type, difference_type > coords
difference_type data_height() const
std::string size_2D_string() const
friend void imshow(const Disp2D &, difference_type delay)
std::string size_2D_string() const
Data2D::difference_type difference_type
friend void save(const Disp2D &, std::ofstream &)
std::string size_string() const
difference_type data_width() const
friend std::ostream & operator<<(std::ostream &, const Disp2D &)
static Disp2D load(std::ifstream &)
difference_type get_scalefactor() const
Disp2D() noexcept=default
friend bool isequal(const Disp2D &, const Disp2D &)
const Data2D & get_u() const
difference_type data_height() const
nlinfo_interpolator get_nlinfo_interpolator(difference_type, INTERP) const
const ROI2D & get_roi() const
details::Disp2D_nlinfo_interpolator nlinfo_interpolator
const Data2D & get_v() const
Disp2D(Array2D< double > v, Array2D< double > u, const ROI2D &roi, difference_type scalefactor)
const Data2D & get_cc() const