Sorts box-line diagrams to suit my preferences.
XML file converted to dictionary and then sifted for relevant information.
Classes define connections, entities etc.
Relevant functionality built into each class.
Shapes instantiated.
Model Space defined and adapted to the items.
Connections updated in accordance with their shapes and vice-versa.
Model defined including penalty function, taking into consideration overlapping lines etc.
Models created semi-randomly within the Model Space, then muated to improve the graph structure.
Parrallel processing used to speed up the process.
Graph drawn onto canvas for visualisation of the solution.