72 LineSegmentIndex* outputIndex,
73 const ComponentJumpChecker* jumpChecker);
88 LineSegmentIndex* inputIndex;
91 LineSegmentIndex* outputIndex;
93 const ComponentJumpChecker* jumpChecker;
95 std::unique_ptr<algorithm::LineIntersector> li;
102 void simplifySection(std::size_t i, std::size_t j, std::size_t depth,
double distanceTolerance);
104 void simplifyRingEndpoint(
double distanceTolerance);
106 static std::size_t findFurthestPoint(
108 std::size_t i, std::size_t j,
109 double& maxDistance);
111 bool isTopologyValid(
113 std::size_t sectionStart, std::size_t sectionEnd,
116 bool isTopologyValid(
121 bool hasInputIntersection(
const LineSegment& flatSeg);
123 bool hasInputIntersection(
125 std::size_t excludeStart, std::size_t excludeEnd,
130 bool hasOutputIntersection(
const LineSegment& flatSeg);
132 bool hasInvalidIntersection(
137 std::unique_ptr<TaggedLineSegment> flatten(
138 std::size_t start, std::size_t end);
152 static bool isInLineSection(
154 const std::size_t excludeStart,
const std::size_t excludeEnd,