libcuspatial  24.04.00
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator > Class Template Reference

Represent a reference to a multipolygon stored in a structure of arrays. More...

Public Member Functions

CUSPATIAL_HOST_DEVICE multipolygon_ref (PartIterator part_begin, PartIterator part_end, RingIterator ring_begin, RingIterator ring_end, VecIterator point_begin, VecIterator point_end)
 
CUSPATIAL_HOST_DEVICE auto num_polygons () const
 Return the number of polygons in the multipolygon.
 
CUSPATIAL_HOST_DEVICE auto size () const
 Return the number of polygons in the multipolygon.
 
CUSPATIAL_HOST_DEVICE bool is_empty () const
 Returns true if the multipolygon contains 0 geometries.
 
CUSPATIAL_HOST_DEVICE auto part_begin () const
 Return iterator to the first polygon.
 
CUSPATIAL_HOST_DEVICE auto part_end () const
 Return iterator to one past the last polygon.
 
CUSPATIAL_HOST_DEVICE auto ring_begin () const
 Return iterator to the first ring.
 
CUSPATIAL_HOST_DEVICE auto ring_end () const
 Return iterator to one past the last ring.
 
CUSPATIAL_HOST_DEVICE auto point_begin () const
 Return iterator to the first point of the multipolygon.
 
CUSPATIAL_HOST_DEVICE auto point_end () const
 Return iterator to one past the last point of the multipolygon.
 
CUSPATIAL_HOST_DEVICE auto begin () const
 Return iterator to the first polygon of the multipolygon.
 
CUSPATIAL_HOST_DEVICE auto end () const
 Return iterator to one past the last polygon of the multipolygon.
 
CUSPATIAL_HOST_DEVICE auto enumerate () const
 Return an enumerated range to the polygons.
 
template<typename IndexType >
CUSPATIAL_HOST_DEVICE auto operator[] (IndexType polygon_idx) const
 Return polygon_idxth polygon in the multipolygon.
 

Protected Attributes

PartIterator _part_begin
 
PartIterator _part_end
 
RingIterator _ring_begin
 
RingIterator _ring_end
 
VecIterator _point_begin
 
VecIterator _point_end
 

Detailed Description

template<typename PartIterator, typename RingIterator, typename VecIterator>
class cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >

Represent a reference to a multipolygon stored in a structure of arrays.

Template Parameters
PartIteratortype of iterator to the part offset array.
RingIteratortype of iterator to the ring offset array.
VecIteratortype of iterator to the underlying point array.

Definition at line 31 of file multipolygon_ref.cuh.

Member Function Documentation

◆ begin()

template<typename PartIterator , typename RingIterator , typename VecIterator >
CUSPATIAL_HOST_DEVICE auto cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::begin ( ) const
inline

Return iterator to the first polygon of the multipolygon.

Definition at line 63 of file multipolygon_ref.cuh.

◆ end()

template<typename PartIterator , typename RingIterator , typename VecIterator >
CUSPATIAL_HOST_DEVICE auto cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::end ( ) const
inline

Return iterator to one past the last polygon of the multipolygon.

Definition at line 65 of file multipolygon_ref.cuh.

◆ enumerate()

template<typename PartIterator , typename RingIterator , typename VecIterator >
CUSPATIAL_HOST_DEVICE auto cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::enumerate ( ) const
inline

Return an enumerated range to the polygons.

Definition at line 68 of file multipolygon_ref.cuh.

◆ is_empty()

template<typename PartIterator , typename RingIterator , typename VecIterator >
CUSPATIAL_HOST_DEVICE bool cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::is_empty ( ) const
inline

Returns true if the multipolygon contains 0 geometries.

Definition at line 45 of file multipolygon_ref.cuh.

◆ size()

template<typename PartIterator , typename RingIterator , typename VecIterator >
CUSPATIAL_HOST_DEVICE auto cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::size ( ) const
inline

Return the number of polygons in the multipolygon.

Definition at line 42 of file multipolygon_ref.cuh.

Member Data Documentation

◆ _part_begin

template<typename PartIterator , typename RingIterator , typename VecIterator >
PartIterator cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::_part_begin
protected

Definition at line 75 of file multipolygon_ref.cuh.

◆ _part_end

template<typename PartIterator , typename RingIterator , typename VecIterator >
PartIterator cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::_part_end
protected

Definition at line 76 of file multipolygon_ref.cuh.

◆ _point_begin

template<typename PartIterator , typename RingIterator , typename VecIterator >
VecIterator cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::_point_begin
protected

Definition at line 79 of file multipolygon_ref.cuh.

◆ _point_end

template<typename PartIterator , typename RingIterator , typename VecIterator >
VecIterator cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::_point_end
protected

Definition at line 80 of file multipolygon_ref.cuh.

◆ _ring_begin

template<typename PartIterator , typename RingIterator , typename VecIterator >
RingIterator cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::_ring_begin
protected

Definition at line 77 of file multipolygon_ref.cuh.

◆ _ring_end

template<typename PartIterator , typename RingIterator , typename VecIterator >
RingIterator cuspatial::multipolygon_ref< PartIterator, RingIterator, VecIterator >::_ring_end
protected

Definition at line 78 of file multipolygon_ref.cuh.


The documentation for this class was generated from the following file: