19 class Strain2D_nlinfo_interpolator;
41 eyy(std::move(eyy), roi, scalefactor), exy(std::move(exy), roi, scalefactor), exx(std::move(exx), roi, scalefactor) { }
76 class Strain2D_nlinfo_interpolator final {
84 Strain2D_nlinfo_interpolator() noexcept = default;
85 Strain2D_nlinfo_interpolator(const Strain2D_nlinfo_interpolator&) = default;
86 Strain2D_nlinfo_interpolator(Strain2D_nlinfo_interpolator&&) = default;
87 Strain2D_nlinfo_interpolator& operator=(const Strain2D_nlinfo_interpolator&) = default;
88 Strain2D_nlinfo_interpolator& operator=(Strain2D_nlinfo_interpolator&&) = default;
89 ~Strain2D_nlinfo_interpolator() noexcept = default;
92 Strain2D_nlinfo_interpolator(const Strain2D &strain, difference_type region_idx,
INTERP interp_type) :
93 eyy_interp(strain.get_eyy().get_nlinfo_interpolator(region_idx,interp_type)),
94 exy_interp(strain.get_exy().get_nlinfo_interpolator(region_idx,interp_type)),
95 exx_interp(strain.get_exx().get_nlinfo_interpolator(region_idx,interp_type)) { }
98 std::tuple<double,double,double> operator()(
double p1,
double p2)
const {
return std::make_tuple(eyy_interp(p1,p2), exy_interp(p1,p2), exx_interp(p1,p2)); }
99 std::tuple<const Array2D<double>&,
const Array2D<double>&,
const Array2D<double>&> first_order(
double p1,
double p2)
const {
return std::make_tuple(eyy_interp.first_order(p1,p2), exy_interp.first_order(p1,p2), exx_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
const ROI2D & get_roi() const
friend void imshow(const Strain2D &, difference_type delay)
Data2D::difference_type difference_type
friend void save(const Strain2D &, std::ofstream &)
details::Strain2D_nlinfo_interpolator nlinfo_interpolator
const Data2D & get_exx() const
const Data2D & get_exy() const
difference_type data_width() const
difference_type get_scalefactor() const
std::string size_string() const
difference_type data_height() const
friend std::ostream & operator<<(std::ostream &, const Strain2D &)
nlinfo_interpolator get_nlinfo_interpolator(difference_type, INTERP) const
friend bool isequal(const Strain2D &, const Strain2D &)
const Data2D & get_eyy() const
Strain2D() noexcept=default
static Strain2D load(std::ifstream &)
std::string size_2D_string() const