19#include <geos/export.h>
28class CoordinateSequence;
33class TaggedLineString;
41class GEOS_DLL ComponentJumpChecker {
48 const std::vector<TaggedLineString*>& components;
50 static bool hasJumpAtComponent(
51 const Coordinate& compPt,
52 const TaggedLineString* line,
53 std::size_t start, std::size_t end,
54 const LineSegment& seg);
56 static bool hasJumpAtComponent(
57 const Coordinate& compPt,
58 const LineSegment* seg1,
const LineSegment* seg2,
59 const LineSegment& seg);
61 static std::size_t crossingCount(
62 const Coordinate& compPt,
63 const LineSegment& seg);
65 static std::size_t crossingCount(
66 const Coordinate& compPt,
67 const LineSegment* seg1,
const LineSegment* seg2);
69 std::size_t
static crossingCount(
70 const Coordinate& compPt,
71 const TaggedLineString* line,
72 std::size_t start, std::size_t end);
74 static Envelope computeEnvelope(
75 const LineSegment* seg1,
const LineSegment* seg2);
77 static Envelope computeEnvelope(
78 const TaggedLineString* line,
79 std::size_t start, std::size_t end);
84 ComponentJumpChecker(
const std::vector<TaggedLineString*>& taggedLines)
85 : components(taggedLines)
89 const TaggedLineString* line,
90 std::size_t start, std::size_t end,
91 const LineSegment& seg)
const;
106 const TaggedLineString* line,
107 const LineSegment* seg1,
108 const LineSegment* seg2,
109 const LineSegment& seg)
const;
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
Basic namespace for all GEOS functionalities.
Definition geos.h:39