加载中...
搜索中...
无匹配项
bounding_boxes.cuh
查看此文件的文档。
1/*
2 * 版权所有 (c) 2022, NVIDIA CORPORATION.
3 *
4 * 根据 Apache 许可,版本 2.0 (“许可”) 获得许可;
5 * 您不得使用此文件,除非符合许可的规定。
6 * 您可以在以下位置获得许可的副本:
7 *
8 * https://apache.ac.cn/licenses/LICENSE-2.0
9 *
10 * 除非适用法律要求或书面同意,否则软件
11 * 根据许可分发是基于“现状”提供的,
12 * 不提供任何明示或暗示的担保或条件。
13 * 有关许可下特定语言权限和
14 * 限制的信息,请参见许可。
15 */
16
17#pragma once
18
19#include <cuspatial/traits.hpp>
20
21#include <rmm/cuda_stream_view.hpp>
22
23namespace cuspatial {
24
29
65template <typename IdInputIt,
66 typename PointInputIt,
67 typename BoundingBoxOutputIt,
68 typename T = iterator_vec_base_type<PointInputIt>>
69BoundingBoxOutputIt point_bounding_boxes(IdInputIt ids_first,
70 IdInputIt ids_last,
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);
75
106template <class LinestringOffsetIterator,
107 class VertexIterator,
108 class BoundingBoxIterator,
109 class T = iterator_vec_base_type<VertexIterator>,
110 class IndexT = iterator_value_type<LinestringOffsetIterator>>
111BoundingBoxIterator linestring_bounding_boxes(
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);
119
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>>
163BoundingBoxIterator polygon_bounding_boxes(PolygonOffsetIterator polygon_offsets_first,
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);
172
176
177} // namespace cuspatial
178
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)
计算点序列的空间边界框。
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)
计算每个线串的最小边界框。
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)
计算每个多边形的最小边界框。