|
Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
|
Generic Sweep Line template Stores a Sweep Line Status (SLS), keeping track of the current state of the sweep Stores an Event Queue for processing the events in the appropiate order. More...
#include <SweepLine.hpp>
Classes | |
| struct | DefaultInsertEvent |
| struct | DefaultRemoveEvent |
| class | IEvent |
| Interface for EventQueue events. process(...) is executed whenever an element is polled from the EventQueue getEventType() returns the type of Event (INSERT|REMOVE) eventPoint() returns a numeric value for the Event to determine the order in the EventQueue. More... | |
| struct | InsertEvent |
| struct | RemoveEvent |
Public Types | |
| using | eventPointer = std::unique_ptr< IEvent > |
| using | SLS = std::set< const Input *, SLSOrdering > |
| using | EventQ = std::priority_queue< eventPointer, std::vector< eventPointer >, EventQueueGreaterPtr > |
Public Member Functions | |
| void | addEvent (eventPointer event) noexcept |
| void | removeEvent (eventPointer const &event) noexcept |
| eventPointer | nextEvent () noexcept |
| void | addSLS (const Input *input) noexcept |
| void | removeSLS (const Input *input) noexcept |
| bool | containsSLS (const Input *input) noexcept |
| const SLS & | getSLS () const noexcept |
| SLS & | getSLS () noexcept |
| auto | lowerBound (const Input &input) const noexcept |
| auto | upperBound (const Input &input) const noexcept |
| const EventQ & | getEventQueue () const noexcept |
| EventQ & | getEventQueue () noexcept |
| void | addEvents (util::forward_range_of< eventPointer > auto &&events) noexcept |
| void | addEvents (util::forward_range_of< Input > auto const &objects, util::UnaryFunction< Input, std::vector< eventPointer > > auto eventMapper) noexcept |
| Output | sweep (Output &output) noexcept |
Generic Sweep Line template Stores a Sweep Line Status (SLS), keeping track of the current state of the sweep Stores an Event Queue for processing the events in the appropiate order.
| Input | input type, stored in the SLS |
| Output | output type, return after the sweep in a vector |
| SLSLess | BiPredicate for sorting the SLS |
| EventQueueGreater | BiPredicate for sorting the event points |
| using fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::eventPointer = std::unique_ptr<IEvent> |
| using fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::EventQ = std::priority_queue<eventPointer,std::vector<eventPointer>,EventQueueGreaterPtr> |
| using fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::SLS = std::set<const Input *,SLSOrdering> |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |