19#include <geos/export.h>
45class GEOS_DLL ComponentJumpChecker {
49 const std::vector<TaggedLineString*>& components;
51 static bool hasJumpAtComponent(
52 const Coordinate& compPt,
53 const TaggedLineString* line,
54 std::size_t start, std::size_t end,
55 const LineSegment& seg);
57 static bool hasJumpAtComponent(
58 const Coordinate& compPt,
59 const LineSegment* seg1,
const LineSegment* seg2,
60 const LineSegment& seg);
62 static std::size_t crossingCount(
63 const Coordinate& compPt,
64 const LineSegment& seg);
66 static std::size_t crossingCount(
67 const Coordinate& compPt,
68 const LineSegment* seg1,
const LineSegment* seg2);
70 std::size_t
static crossingCount(
71 const Coordinate& compPt,
72 const TaggedLineString* line,
73 std::size_t start, std::size_t end);
75 static Envelope computeEnvelope(
76 const LineSegment* seg1,
const LineSegment* seg2);
78 static Envelope computeEnvelope(
79 const TaggedLineString* line,
80 std::size_t start, std::size_t end);
85 ComponentJumpChecker(
const std::vector<TaggedLineString*>& taggedLines)
86 : components(taggedLines)
90 const TaggedLineString* line,
91 std::size_t start, std::size_t end,
92 const LineSegment& seg)
const;
107 const TaggedLineString* line,
108 const LineSegment* seg1,
109 const LineSegment* seg2,
110 const LineSegment& seg)
const;
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Definition LineSegment.h:61
Contains and owns a list of TaggedLineSegments.
Definition TaggedLineString.h:60
Classes which implement algorithms for simplifying or generalizing geometries.
Definition Corner.h:26
Basic namespace for all GEOS functionalities.
Definition geos.h:39