19#include <cuspatial/traits.hpp>
21#include <rmm/cuda_stream_view.hpp>
65template <
typename IdInputIt,
66 typename PointInputIt,
67 typename BoundingBoxOutputIt,
68 typename T = iterator_vec_base_type<PointInputIt>>
71 PointInputIt points_first,
72 BoundingBoxOutputIt bounding_boxes_first,
73 T expansion_radius = T{0},
74 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
106template <
class LinestringOffsetIterator,
107 class VertexIterator,
108 class BoundingBoxIterator,
109 class T = iterator_vec_base_type<VertexIterator>,
110 class IndexT = iterator_value_type<LinestringOffsetIterator>>
112 LinestringOffsetIterator linestring_offsets_first,
113 LinestringOffsetIterator linestring_offsets_last,
114 VertexIterator linestring_vertices_first,
115 VertexIterator linestring_vertices_last,
116 BoundingBoxIterator bounding_boxes_first,
117 T expansion_radius = T{0},
118 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
157template <
class PolygonOffsetIterator,
158 class RingOffsetIterator,
159 class VertexIterator,
160 class BoundingBoxIterator,
161 class T = iterator_vec_base_type<VertexIterator>,
162 class IndexT = iterator_value_type<PolygonOffsetIterator>>
164 PolygonOffsetIterator polygon_offsets_last,
165 RingOffsetIterator polygon_ring_offsets_first,
166 RingOffsetIterator polygon_ring_offsets_last,
167 VertexIterator polygon_vertices_first,
168 VertexIterator polygon_vertices_last,
169 BoundingBoxIterator bounding_boxes_first,
170 T expansion_radius = T{0},
171 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
179#include <cuspatial/detail/bounding_boxes.cuh>
BoundingBoxOutputIt point_bounding_boxes(IdInputIt ids_first, IdInputIt ids_last, PointInputIt points_first, BoundingBoxOutputIt bounding_boxes_first, T expansion_radius=T{0}, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Compute the spatial bounding boxes of sequences of points.
BoundingBoxIterator linestring_bounding_boxes(LinestringOffsetIterator linestring_offsets_first, LinestringOffsetIterator linestring_offsets_last, VertexIterator linestring_vertices_first, VertexIterator linestring_vertices_last, BoundingBoxIterator bounding_boxes_first, T expansion_radius=T{0}, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Compute minimum bounding box for each linestring.
BoundingBoxIterator polygon_bounding_boxes(PolygonOffsetIterator polygon_offsets_first, PolygonOffsetIterator polygon_offsets_last, RingOffsetIterator polygon_ring_offsets_first, RingOffsetIterator polygon_ring_offsets_last, VertexIterator polygon_vertices_first, VertexIterator polygon_vertices_last, BoundingBoxIterator bounding_boxes_first, T expansion_radius=T{0}, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Compute minimum bounding box for each polygon.