2 Commits 6653bdfec0 ... b7205a5bd7

Author SHA1 Message Date
  icestormikk b7205a5bd7 documentation + rework 2 (coordinate assignment update, removed grid system, cleanup) 1 month ago
  icestormikk 6653bdfec0 documentation + rework 2 (coordinate assignment update, removed grid system, cleanup) 1 month ago

+ 2 - 0
src/index.ts

@@ -13,6 +13,7 @@ import LayerAssignmentStep from "./v1/optimizer/steps/LayerAssignmentStep.js";
 import NodeOrderingStep from "./v1/optimizer/steps/NodeOrderingStep.js";
 import SiguiyamaAlgorithm from "./v1/optimizer/siguiyama/SiguiyamaAlgorithm.js";
 import { SiguiyamaContext } from "./v1/optimizer/siguiyama/SiguiyamaContext.js";
+import EdgeRoutingStep from "./v1/optimizer/steps/EdgeRoutingStep.js";
 
 export class BPMNOptimizer {
 	private _optimizationAlgorithm?: SiguiyamaAlgorithm;
@@ -42,6 +43,7 @@ const algorithm = new SiguiyamaAlgorithm()
 	.addStep(new LayerAssignmentStep())
 	.addStep(new NodeOrderingStep())
 	.addStep(new CoordinateAssignmentStep(60, 100))
+	.addStep(new EdgeRoutingStep());
 const optimizer = new BPMNOptimizer().setOptimizationAlgorithm(algorithm);
 
 const data = readFileSync("./data/graph.json").toString();

+ 1 - 1
src/v1/io/serialize/json/DefaultJsonSerializer.ts

@@ -26,6 +26,6 @@ export default class DefaultJsonSerializer implements JsonSerializer<Graph<Node,
 			nodes.push({ x: node.getX(), y: node.getY(), width: node.getWidth(), height: node.getHeight(), type: node.getType(), id: node.getId() });
 		})
 
-		return JSON.stringify({ nodes, edges }, null, 2);
+		return JSON.stringify({ nodes, edges }, null, 4);
 	}
 }

+ 2 - 0
src/v1/optimizer/steps/LayerAssignmentStep.ts

@@ -120,6 +120,8 @@ export default class LayerAssignmentStep extends AlgorithmStep<SiguiyamaContext>
 			graph.addEdge(finalEdge);
 			if(isReversed)
 				feedbackSet.push(finalEdge);
+
+			graph.removeEdge(edge.getId());
 		}
 	}
 }