Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
Loading...
Searching...
No Matches
fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::IEvent Class Referenceabstract

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...

#include <SweepLine.hpp>

Inheritance diagram for fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::IEvent:

Public Member Functions

 IEvent (const Input &obj)
 
virtual void process (SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater > &sweepLine, Output &output) const =0
 
virtual EventType type () const noexcept=0
 
virtual fishnet::math::DEFAULT_NUMERIC eventPoint () const noexcept=0
 
const Input & getObject () const noexcept
 
virtual ~IEvent ()=default
 

Protected Attributes

const Input * obj
 

Detailed Description

template<typename Input, typename Output, util::BiPredicate< Input > SLSLess = std::less<Input>, bool InsertEventsFirst = false, util::BiPredicate< fishnet::math::DEFAULT_NUMERIC > EventQueueGreater = std::greater<fishnet::math::DEFAULT_NUMERIC>>
class fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::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.

Constructor & Destructor Documentation

◆ IEvent()

template<typename Input , typename Output , util::BiPredicate< Input > SLSLess = std::less<Input>, bool InsertEventsFirst = false, util::BiPredicate< fishnet::math::DEFAULT_NUMERIC > EventQueueGreater = std::greater<fishnet::math::DEFAULT_NUMERIC>>
fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::IEvent::IEvent ( const Input &  obj)
inline

◆ ~IEvent()

template<typename Input , typename Output , util::BiPredicate< Input > SLSLess = std::less<Input>, bool InsertEventsFirst = false, util::BiPredicate< fishnet::math::DEFAULT_NUMERIC > EventQueueGreater = std::greater<fishnet::math::DEFAULT_NUMERIC>>
virtual fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::IEvent::~IEvent ( )
virtualdefault

Member Function Documentation

◆ eventPoint()

template<typename Input , typename Output , util::BiPredicate< Input > SLSLess = std::less<Input>, bool InsertEventsFirst = false, util::BiPredicate< fishnet::math::DEFAULT_NUMERIC > EventQueueGreater = std::greater<fishnet::math::DEFAULT_NUMERIC>>
virtual fishnet::math::DEFAULT_NUMERIC fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::IEvent::eventPoint ( ) const
pure virtualnoexcept

◆ getObject()

template<typename Input , typename Output , util::BiPredicate< Input > SLSLess = std::less<Input>, bool InsertEventsFirst = false, util::BiPredicate< fishnet::math::DEFAULT_NUMERIC > EventQueueGreater = std::greater<fishnet::math::DEFAULT_NUMERIC>>
const Input & fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::IEvent::getObject ( ) const
inlinenoexcept

◆ process()

template<typename Input , typename Output , util::BiPredicate< Input > SLSLess = std::less<Input>, bool InsertEventsFirst = false, util::BiPredicate< fishnet::math::DEFAULT_NUMERIC > EventQueueGreater = std::greater<fishnet::math::DEFAULT_NUMERIC>>
virtual void fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::IEvent::process ( SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater > &  sweepLine,
Output &  output 
) const
pure virtual

◆ type()

template<typename Input , typename Output , util::BiPredicate< Input > SLSLess = std::less<Input>, bool InsertEventsFirst = false, util::BiPredicate< fishnet::math::DEFAULT_NUMERIC > EventQueueGreater = std::greater<fishnet::math::DEFAULT_NUMERIC>>
virtual EventType fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::IEvent::type ( ) const
pure virtualnoexcept

Member Data Documentation

◆ obj

template<typename Input , typename Output , util::BiPredicate< Input > SLSLess = std::less<Input>, bool InsertEventsFirst = false, util::BiPredicate< fishnet::math::DEFAULT_NUMERIC > EventQueueGreater = std::greater<fishnet::math::DEFAULT_NUMERIC>>
const Input* fishnet::geometry::SweepLine< Input, Output, SLSLess, InsertEventsFirst, EventQueueGreater >::IEvent::obj
protected

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