68 projection(std::vector<operation_type>
const& operations,
71 : params_(params), constructed_direction_(dir)
88 dir = (constructed_direction_ == direction::FORWARD) ? dir :
reverse(dir);
90 params_, operations_.data().get(), operations_.size(), dir};
104 template <
class InputCoordIter,
class OutputCoordIter>
107 OutputCoordIter result,
109 rmm::cuda_stream_view stream = rmm::cuda_stream_default)
const
115 void setup(std::vector<operation_type>
const& operations)
117 std::for_each(operations.begin(), operations.end(), [&](
auto const& op) {
119 case operation_type::TRANSVERSE_MERCATOR: {
120 auto op = transverse_mercator<Coordinate>{params_};
121 params_ = op.setup(params_);
129 operations_.resize(operations.size());
130 thrust::copy(operations.begin(), operations.end(), operations_.begin());
133 thrust::device_vector<operation_type> operations_;
135 direction constructed_direction_{direction::FORWARD};