Loading...
Searching...
No Matches
Classes | Functions
multilinestring_range.cuh File Reference
#include <cuspatial/cuda_utils.hpp>
#include <cuspatial/detail/range/enumerate_range.cuh>
#include <cuspatial/geometry/segment.cuh>
#include <cuspatial/geometry/vec_2d.hpp>
#include <cuspatial/traits.hpp>
#include <cuspatial/types.hpp>
#include <rmm/cuda_stream_view.hpp>
#include <thrust/pair.h>
#include <cuspatial/detail/range/multilinestring_range.cuh>

Go to the source code of this file.

Classes

class  cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >
 Non-owning range-based interface to multilinestring data. More...
 

Functions

template<typename GeometryIteratorDiffType , typename PartIteratorDiffType , typename VecIteratorDiffType , typename GeometryIterator , typename PartIterator , typename VecIterator >
auto cuspatial::make_multilinestring_range (GeometryIteratorDiffType num_multilinestrings, GeometryIterator geometry_begin, PartIteratorDiffType num_linestrings, PartIterator part_begin, VecIteratorDiffType num_points, VecIterator point_begin)
 Create a multilinestring_range object from size and start iterators.
 
template<typename IntegerRange1 , typename IntegerRange2 , typename PointRange >
auto cuspatial::make_multilinestring_range (IntegerRange1 geometry_offsets, IntegerRange2 part_offsets, PointRange points)
 Create a range object of multilinestring data from offset and point ranges.
 
template<collection_type_id Type, typename T , typename IndexType , typename GeometryColumnView , CUSPATIAL_ENABLE_IF(Type==collection_type_id::SINGLE) >
auto cuspatial::make_multilinestring_range (GeometryColumnView const &linestrings_column)
 Create a range object of multilinestring from cuspatial::geometry_column_view. Specialization for linestrings column.
 

Function Documentation

◆ make_multilinestring_range() [1/3]

template<collection_type_id Type, typename T , typename IndexType , typename GeometryColumnView , CUSPATIAL_ENABLE_IF(Type==collection_type_id::SINGLE) >
auto cuspatial::make_multilinestring_range ( GeometryColumnView const & linestrings_column)

Create a range object of multilinestring from cuspatial::geometry_column_view. Specialization for linestrings column.

Create a range object of multilinestring from cuspatial::geometry_column_view. Specialization for multilinestrings column.

Precondition
linestrings_column must be a cuspatial::geometry_column_view
linestring_column must be a cuspatial::geometry_column_view

Definition at line 286 of file multilinestring_range.cuh.

◆ make_multilinestring_range() [2/3]

template<typename GeometryIteratorDiffType , typename PartIteratorDiffType , typename VecIteratorDiffType , typename GeometryIterator , typename PartIterator , typename VecIterator >
auto cuspatial::make_multilinestring_range ( GeometryIteratorDiffType num_multilinestrings,
GeometryIterator geometry_begin,
PartIteratorDiffType num_linestrings,
PartIterator part_begin,
VecIteratorDiffType num_points,
VecIterator point_begin )

Create a multilinestring_range object from size and start iterators.

Template Parameters
GeometryIteratorDiffTypeIndex type of the size of the geometry array
PartIteratorDiffTypeIndex type of the size of the part array
VecIteratorDiffTypeIndex type of the size of the point array
GeometryIteratoriterator type for offset array. Must meet the requirements of LegacyRandomAccessIterator.
PartIteratoriterator type for the part offset array. Must meet the requirements of LegacyRandomAccessIterator.
VecIteratoriterator type for the point array. Must meet the requirements of LegacyRandomAccessIterator.
Note
Iterators must be device-accessible if the view is intended to be used on device.
Parameters
num_multilinestringsNumber of multilinestrings in the array.
geometry_beginIterator to the start of the geometry array.
num_linestringsNumber of linestrings in the underlying parts array.
part_beginIterator to the start of the part array.
num_pointsNumber of points in the underlying points array.
point_beginIterator to the start of the point array.
Returns
A multilinestring_range object

Definition at line 235 of file multilinestring_range.cuh.

◆ make_multilinestring_range() [3/3]

template<typename IntegerRange1 , typename IntegerRange2 , typename PointRange >
auto cuspatial::make_multilinestring_range ( IntegerRange1 geometry_offsets,
IntegerRange2 part_offsets,
PointRange points )

Create a range object of multilinestring data from offset and point ranges.

Template Parameters
IntegerRange1Range to integers
IntegerRange2Range to integers
PointRangeRange to points
Parameters
geometry_offsetsRange to multilinestring geometry offsets
part_offsetsRange to linestring part offsets
pointsRange to underlying points
Returns
A multilinestring_range object

Definition at line 263 of file multilinestring_range.cuh.