16#ifndef GEOS_ALGORITHM_MCPOINTINRING_H
17#define GEOS_ALGORITHM_MCPOINTINRING_H
19#include <geos/export.h>
20#include <geos/index/chain/MonotoneChainSelectAction.h>
21#include <geos/algorithm/PointInRing.h>
22#include <geos/geom/Coordinate.h>
23#include <geos/index/bintree/Interval.h>
50class GEOS_DLL MCPointInRing:
public PointInRing {
52 MCPointInRing(
const geom::LinearRing *newRing);
54 bool isInside(
const geom::Coordinate& pt);
56 void testLineSegment(
const geom::Coordinate& p,
57 const geom::LineSegment& seg);
59 class MCSelecter:
public index::chain::MonotoneChainSelectAction {
60 using MonotoneChainSelectAction::select;
63 MCPointInRing *parent;
65 MCSelecter(
const geom::Coordinate& newP, MCPointInRing *prt);
66 void select(
const geom::LineSegment& ls);
70 const geom::LinearRing *ring;
71 index::bintree::Interval interval;
72 geom::CoordinateSequence *pts;
73 index::bintree::Bintree *tree;
76 void testMonotoneChain(geom::Envelope *rayEnv,
77 MCSelecter *mcSelecter,
78 index::chain::MonotoneChain *mc);
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:59
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:60
Definition LineSegment.h:57
Models an OGC SFS LinearRing.
Definition LinearRing.h:57
An BinTree (or "Binary Interval Tree") is a 1-dimensional version of a quadtree.
Definition Bintree.h:56
Represents an (1-dimensional) closed interval on the Real number line.
Definition bintree/Interval.h:25
Monotone Chains are a way of partitioning the segments of a linestring to allow for fast searching of...
Definition index/chain/MonotoneChain.h:86
Contains the Geometry interface hierarchy and supporting classes.
Definition IndexedNestedRingTester.h:26
Contains classes that implement a Binary Interval Tree index.
Definition MCPointInRing.h:37
Contains classes that implement Monotone Chains.
Definition MCPointInRing.h:41
Provides classes for various kinds of spatial indexes.
Definition IndexedNestedRingTester.h:31
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25