GEOS  3.9.1dev
Public Member Functions | Private Member Functions | Private Attributes | List of all members
geos::index::sweepline::SweepLineIndex Class Reference

A sweepline implements a sorted index on a set of intervals. More...

#include <SweepLineIndex.h>

Public Member Functions

 SweepLineIndex ()
 
 ~SweepLineIndex ()
 
void add (SweepLineInterval *sweepInt)
 
void computeOverlaps (SweepLineOverlapAction *action)
 

Private Member Functions

void buildIndex ()
 
void processOverlaps (std::size_t start, std::size_t end, SweepLineInterval *s0, SweepLineOverlapAction *action)
 

Private Attributes

std::vector< SweepLineEvent * > events
 
bool indexBuilt
 
int nOverlaps
 

Detailed Description

A sweepline implements a sorted index on a set of intervals.

It is used to compute all overlaps between the interval in the index.

Definition at line 47 of file SweepLineIndex.h.

Constructor & Destructor Documentation

geos::index::sweepline::SweepLineIndex::SweepLineIndex ( )
geos::index::sweepline::SweepLineIndex::~SweepLineIndex ( )

Member Function Documentation

void geos::index::sweepline::SweepLineIndex::add ( SweepLineInterval sweepInt)
void geos::index::sweepline::SweepLineIndex::buildIndex ( )
private

Because Delete Events have a link to their corresponding Insert event, it is possible to compute exactly the range of events which must be compared to a given Insert event object.

void geos::index::sweepline::SweepLineIndex::computeOverlaps ( SweepLineOverlapAction action)
void geos::index::sweepline::SweepLineIndex::processOverlaps ( std::size_t  start,
std::size_t  end,
SweepLineInterval s0,
SweepLineOverlapAction action 
)
private

Member Data Documentation

std::vector<SweepLineEvent*> geos::index::sweepline::SweepLineIndex::events
private

Definition at line 62 of file SweepLineIndex.h.

bool geos::index::sweepline::SweepLineIndex::indexBuilt
private

Definition at line 64 of file SweepLineIndex.h.

int geos::index::sweepline::SweepLineIndex::nOverlaps
private

Definition at line 67 of file SweepLineIndex.h.


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