inline bool operator()(const LatLong& p1, Cartesian& p2) const { // Latlong (LatLong -> Cartesian) will be projected, rest will be copied. // So first copy third or higher dimensions ggl::detail::copy::copy_coordinates<LatLong, Cartesian, 2, ggl::dimension<Cartesian>::value> ::copy(p1, p2); return m_prj->forward(p1, p2); }
/// Transform operator inline bool apply(Cartesian const& p1, LatLong& p2) const { // Latlong (LL -> XY) will be projected, rest will be copied. // So first copy third or higher dimensions geometry::detail::convert::point_to_point<Cartesian, LatLong, 2, geometry::dimension<Cartesian>::value> ::copy(p1, p2); return m_prj->inverse(p1, p2); }
inline bool apply(LatLong const& p1, Cartesian& p2) const { // Latlong (LatLong -> Cartesian) will be projected, rest will be copied. // So first copy third or higher dimensions geometry::detail::conversion::point_to_point<LatLong, Cartesian, 2, geometry::dimension<Cartesian>::value> ::apply(p1, p2); return m_prj->forward(p1, p2); }
inline project_transformer(const std::string& par) { factory<LatLong, Cartesian, parameters> fac; m_prj.reset(fac.create_new(init(par))); }
inline project_inverse_transformer(Parameters const& par) { factory<LatLong, Cartesian, Parameters> fac; m_prj.reset(fac.create_new(par)); }