74 LineSegmentIndex* outputIndex,
75 const ComponentJumpChecker* jumpChecker);
90 LineSegmentIndex* inputIndex;
93 LineSegmentIndex* outputIndex;
95 const ComponentJumpChecker* jumpChecker;
97 std::unique_ptr<algorithm::LineIntersector> li;
104 void simplifySection(std::size_t i, std::size_t j, std::size_t depth,
double distanceTolerance);
106 void simplifyRingEndpoint(
double distanceTolerance);
108 static std::size_t findFurthestPoint(
110 std::size_t i, std::size_t j,
111 double& maxDistance);
113 bool isTopologyValid(
115 std::size_t sectionStart, std::size_t sectionEnd,
118 bool isTopologyValid(
123 bool hasInputIntersection(
const LineSegment& flatSeg);
125 bool hasInputIntersection(
127 std::size_t excludeStart, std::size_t excludeEnd,
132 bool hasOutputIntersection(
const LineSegment& flatSeg);
134 bool hasInvalidIntersection(
139 std::unique_ptr<TaggedLineSegment> flatten(
140 std::size_t start, std::size_t end);
154 static bool isInLineSection(
156 const std::size_t excludeStart,
const std::size_t excludeEnd,