GEOS  3.14.0dev
SegmentSetMutualIntersector.h
1 /**********************************************************************
2  *
3  * GEOS - Geometry Engine Open Source
4  * http://geos.osgeo.org
5  *
6  * Copyright (C) 2006 Refractions Research Inc.
7  *
8  * This is free software; you can redistribute and/or modify it under
9  * the terms of the GNU Lesser General Public Licence as published
10  * by the Free Software Foundation.
11  * See the COPYING file for more information.
12  *
13  *
14  **********************************************************************/
15 
16 #pragma once
17 
18 #include <geos/noding/SegmentString.h>
19 #include <geos/noding/SegmentIntersector.h>
20 
21 namespace geos {
22 namespace noding { // geos::noding
23 
37 public:
38 
40  : segInt(nullptr)
41  {}
42 
43  virtual
45 
53  void
55  {
56  segInt = si;
57  }
58 
63  virtual void setBaseSegments(SegmentString::ConstVect* segStrings) = 0;
64 
70  virtual void process(SegmentString::ConstVect* segStrings) = 0;
71 
72 protected:
73 
74  SegmentIntersector* segInt;
75 
76 };
77 
78 } // geos::noding
79 } // geos
80 
Processes possible intersections detected by a Noder.
Definition: noding/SegmentIntersector.h:45
An intersector for the red-blue intersection problem.
Definition: SegmentSetMutualIntersector.h:36
virtual void process(SegmentString::ConstVect *segStrings)=0
void setSegmentIntersector(SegmentIntersector *si)
Definition: SegmentSetMutualIntersector.h:54
virtual void setBaseSegments(SegmentString::ConstVect *segStrings)=0
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25