|
|
@@ -22,16 +22,21 @@ export default class CleanupStep extends AlgorithmStep<SiguiyamaContext> {
|
|
|
|
|
|
for(const subdivision of edgeSubdivisions.values())
|
|
|
this.restoreSubdivision(graph, subdivision, feedbackSet);
|
|
|
+
|
|
|
+ for(const edge of feedbackSet) {
|
|
|
+ const from = edge.getFrom(), to = edge.getTo();
|
|
|
+ edge.setFrom(to).setTo(from);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private restoreSubdivision(graph: Graph<Node, Edge<Node>>, subdivision: EdgeSubdivision<Node>, feedbackSet: FeedbackSet): void {
|
|
|
const { originalEdge, segments, dummies } = subdivision;
|
|
|
|
|
|
- if(feedbackSet.includes(originalEdge))
|
|
|
- dummies.reverse();
|
|
|
-
|
|
|
const waypoints = dummies.map((d) => ({ x: d.getX(), y: d.getY() }));
|
|
|
|
|
|
+ if(feedbackSet.includes(originalEdge))
|
|
|
+ waypoints.reverse();
|
|
|
+
|
|
|
originalEdge.setWaypoints(waypoints);
|
|
|
|
|
|
for(const segment of segments)
|