用于创建坐标迭代器的工厂方法。 更多...
函数 | |
template<typename FirstIter, typename SecondIter> | |
auto | cuspatial::make_vec_2d_iterator (FirstIter first, SecondIter second) |
从两个输入迭代器创建一个指向 vec_2d 数据的迭代器。 | |
template<typename Iter> | |
auto | cuspatial::make_vec_2d_iterator (Iter xy_begin) |
从单个迭代器创建一个指向 vec_2d 数据的迭代器。 | |
template<typename FirstIter, typename SecondIter> | |
auto | cuspatial::make_vec_2d_output_iterator (FirstIter first, SecondIter second) |
从两个输出迭代器创建一个指向 vec_2d 数据的输出迭代器。 | |
template<typename Iter> | |
auto | cuspatial::make_vec_2d_output_iterator (Iter d_points_begin) |
从一个指向交错数组的迭代器创建一个指向 vec_2d 数据的输出迭代器。 | |
template<typename FirstIter, typename SecondIter> | |
auto | cuspatial::make_box_iterator (FirstIter first, SecondIter second) |
从两个 vec_2d 输入迭代器创建一个指向 box 数据的迭代器。 | |
template<typename MinXIter, typename MinYIter, typename MaxXIter, typename MaxYIter> | |
auto | cuspatial::make_box_output_iterator (MinXIter min_x, MinYIter min_y, MaxXIter max_x, MaxYIter max_y) |
从多个输出迭代器创建一个指向 box 数据的输出迭代器。 | |
template<typename IndexT, typename GeometryIter> | |
auto | cuspatial::make_geometry_id_iterator (GeometryIter offsets_begin, GeometryIter offsets_end) |
创建一个输入迭代器,该迭代器根据输入偏移范围为每个元素生成从零开始的顺序几何体 ID。 | |
template<typename IndexT, typename GeometryIter, typename PartIter> | |
auto | cuspatial::make_geometry_id_iterator (GeometryIter geometry_offsets_begin, GeometryIter geometry_offsets_end, PartIter part_offsets_begin) |
创建一个输入迭代器,该迭代器根据输入的几何体和部分偏移范围,为嵌套几何体的每个元素生成从零开始的顺序几何体 ID。 | |
template<typename OffsetIterator> | |
auto | cuspatial::make_count_iterator_from_offset_iterator (OffsetIterator it) |
用于创建坐标迭代器的工厂方法。
CuSpatial 仅头文件 API 函数只接受输入/输出迭代器。这些工厂方法使得从各种格式的数据创建迭代器变得更容易。
auto cuspatial::make_box_iterator | ( | FirstIter | first, |
SecondIter | second ) |
从两个 vec_2d
输入迭代器创建一个指向 box
数据的迭代器。
将来自不同迭代器的 box_min 和 box_max 点交错到一个单独的 box
迭代器中。
向量类型 | cuSpatial 向量类型,必须是 vec_2d |
FirstIter | vec_2d 的迭代器。必须满足 LegacyRandomAccessIterator 的要求并且可设备访问。 |
SecondIter | vec_2d 的迭代器。必须满足 LegacyRandomAccessIterator 的要求并且可设备访问。 |
first | box::v1 开头的迭代器 |
second | box::v2 开头的迭代器 |
box
的迭代器first
和 second
必须迭代相同的 vec_2d 数据类型。定义于文件 iterator_factory.cuh 的 308 行。
auto cuspatial::make_box_output_iterator | ( | MinXIter | min_x, |
MinYIter | min_y, | ||
MaxXIter | max_x, | ||
MaxYIter | max_y ) |
从多个输出迭代器创建一个指向 box
数据的输出迭代器。
从单独的坐标迭代器创建一个输出迭代器,可将箱体顶点的交错 x/y 数据(每个箱体 2 个顶点)写入其中。这允许将四个独立的输出数据数组用于需要指向结构化箱体数据的迭代器的 API。
MinXIter | 第一个箱体顶点的 x 坐标的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求,可变且可设备访问。 |
MinYIter | 第一个箱体顶点的 y 坐标的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求,可变且可设备访问。 |
MaxXIter | 第二个箱体顶点的 x 坐标的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求,可变且可设备访问。 |
MaxYIter | 第二个箱体顶点的 y 坐标的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求,可变且可设备访问。 |
min_x | 第一个箱体顶点的 x 数据开头的迭代器。 |
min_y | 第一个箱体顶点的 y 数据开头的迭代器。 |
max_x | 第二个箱体顶点的 x 数据开头的迭代器。 |
max_y | 第二个箱体顶点的 y 数据开头的迭代器。 |
box
的迭代器定义于文件 iterator_factory.cuh 的 348 行。
auto cuspatial::make_count_iterator_from_offset_iterator | ( | OffsetIterator | it | ) |
定义于文件 iterator_factory.cuh 的 429 行。
auto cuspatial::make_geometry_id_iterator | ( | GeometryIter | geometry_offsets_begin, |
GeometryIter | geometry_offsets_end, | ||
PartIter | part_offsets_begin ) |
创建一个输入迭代器,该迭代器根据输入的几何体和部分偏移范围,为嵌套几何体的每个元素生成从零开始的顺序几何体 ID。
这可用于任何两级嵌套多几何体偏移,例如多多边形。
示例
GeometryIter | 偏移量迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且可设备访问。 |
offsets_begin | 几何体偏移量范围的开始 |
offsets_end | 几何体偏移量范围的结束 |
part_offsets_begin | 部分(例如环)偏移量范围的开始 |
定义于文件 iterator_factory.cuh 的 415 行。
auto cuspatial::make_geometry_id_iterator | ( | GeometryIter | offsets_begin, |
GeometryIter | offsets_end ) |
创建一个输入迭代器,该迭代器根据输入偏移范围为每个元素生成从零开始的顺序几何体 ID。
这可用于任何单级几何体偏移,例如多点、多线串、(多)轨迹。使用自定义迭代器也可以用于嵌套类型。
示例
GeometryIter | 偏移量迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且可设备访问。 |
offsets_begin | 几何体偏移量范围的开始 |
offsets_end | 几何体偏移量范围的结束 |
定义于文件 iterator_factory.cuh 的 380 行。
auto cuspatial::make_vec_2d_iterator | ( | FirstIter | first, |
SecondIter | second ) |
从两个输入迭代器创建一个指向 vec_2d
数据的迭代器。
将来自不同迭代器的 x 和 y 坐标交错到一个指向 xy 坐标的单个迭代器中。
向量类型 | cuSpatial 向量类型,必须是 vec_2d |
FirstIter | vec_2d 第一个组件的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且可设备访问。 |
SecondIter | vec_2d 第二个组件的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且可设备访问。 |
first | vec_2d::x 开头的迭代器 |
second | vec_2d::y 开头的迭代器 |
vec_2d
的迭代器first
和 second
必须迭代相同的数据类型。定义于文件 iterator_factory.cuh 的 212 行。
auto cuspatial::make_vec_2d_iterator | ( | Iter | xy_begin | ) |
从单个迭代器创建一个指向 vec_2d
数据的迭代器。
从一个指向交错 x-y 坐标起始范围的迭代器创建一个 vec2d 视图。
参数 d_points_begin
定义于文件 iterator_factory.cuh 的 231 行。
auto cuspatial::make_vec_2d_output_iterator | ( | FirstIter | first, |
SecondIter | second ) |
从两个输出迭代器创建一个指向 vec_2d
数据的输出迭代器。
从分别指向 x 和 y 数据的迭代器创建一个输出迭代器,可将交错的 x/y 数据写入其中。这允许将两个独立的输出数据数组用于需要指向结构化数据的迭代器的 API。
向量类型 | cuSpatial 向量类型,必须是 vec_2d |
FirstIter | vec_2d 第一个组件的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求,可变且可设备访问。 |
SecondIter | vec_2d 第二个组件的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求,可变且可设备访问。 |
first | x 数据开头的迭代器。 |
second | y 数据开头的迭代器。 |
vec_2d
的迭代器first
和 second
必须迭代相同的数据类型。定义于文件 iterator_factory.cuh 的 258 行。
auto cuspatial::make_vec_2d_output_iterator | ( | Iter | d_points_begin | ) |
从一个指向交错数组的迭代器创建一个指向 vec_2d
数据的输出迭代器。
Iter | 指向交错数据的迭代器类型。必须满足 [LegacyRandomAccessIterator][LinkLRAI] 的要求,可变且可设备访问。 |
d_points_begin | 交错数据开头的迭代器。 |
vec_2d
的迭代器定义于文件 iterator_factory.cuh 的 274 行。