gitextract_8ysjozhi/ ├── .github/ │ └── workflows/ │ └── build-and-test.yml ├── .gitignore ├── README.md ├── cola/ │ ├── .gitignore │ ├── AUTHORS │ ├── COPYING │ ├── ChangeLog │ ├── Doxyfile │ ├── INSTALL │ ├── LICENSE │ ├── Makefile-swig-java │ ├── Makefile-swig-python │ ├── Makefile.am │ ├── NEWS │ ├── README │ ├── __init__.py │ ├── adaptagrams.i │ ├── autogen.sh │ ├── buildPythonSWIG.sh │ ├── buildSWIGVersionForMac.sh │ ├── configure.ac │ ├── libavoid/ │ │ ├── Doxyfile │ │ ├── LICENSE.LGPL │ │ ├── Makefile.am │ │ ├── README │ │ ├── actioninfo.cpp │ │ ├── actioninfo.h │ │ ├── assertions.h │ │ ├── connectionpin.cpp │ │ ├── connectionpin.h │ │ ├── connector.cpp │ │ ├── connector.h │ │ ├── connend.cpp │ │ ├── connend.h │ │ ├── debug.h │ │ ├── debughandler.h │ │ ├── dllexport.h │ │ ├── doc/ │ │ │ ├── description.doc │ │ │ └── example.doc │ │ ├── geometry.cpp │ │ ├── geometry.h │ │ ├── geomtypes.cpp │ │ ├── geomtypes.h │ │ ├── graph.cpp │ │ ├── graph.h │ │ ├── hyperedge.cpp │ │ ├── hyperedge.h │ │ ├── hyperedgeimprover.cpp │ │ ├── hyperedgeimprover.h │ │ ├── hyperedgetree.cpp │ │ ├── hyperedgetree.h │ │ ├── junction.cpp │ │ ├── junction.h │ │ ├── libavoid.h │ │ ├── libavoid.pc.in │ │ ├── libavoid.sln │ │ ├── libavoid.vcxproj │ │ ├── makepath.cpp │ │ ├── makepath.h │ │ ├── mtst.cpp │ │ ├── mtst.h │ │ ├── obstacle.cpp │ │ ├── obstacle.h │ │ ├── orthogonal.cpp │ │ ├── orthogonal.h │ │ ├── router.cpp │ │ ├── router.h │ │ ├── scanline.cpp │ │ ├── scanline.h │ │ ├── shape.cpp │ │ ├── shape.h │ │ ├── tests/ │ │ │ ├── 2junctions.cpp │ │ │ ├── Makefile.am │ │ │ ├── buildOrthogonalChannelInfo1.cpp │ │ │ ├── checkpointNudging1.cpp │ │ │ ├── checkpointNudging2.cpp │ │ │ ├── checkpointNudging3.cpp │ │ │ ├── checkpoints01.cpp │ │ │ ├── checkpoints02.cpp │ │ │ ├── checkpoints03.cpp │ │ │ ├── complex.cpp │ │ │ ├── connectionpin01.cpp │ │ │ ├── connectionpin02.cpp │ │ │ ├── connectionpin03.cpp │ │ │ ├── connendmove.cpp │ │ │ ├── corneroverlap01.cpp │ │ │ ├── endlessLoop01.cpp │ │ │ ├── example.cpp │ │ │ ├── finalSegmentNudging1.cpp │ │ │ ├── finalSegmentNudging2.cpp │ │ │ ├── finalSegmentNudging3.cpp │ │ │ ├── forwardFlowingConnectors01.cpp │ │ │ ├── freeFloatingDirection01.cpp │ │ │ ├── hola01.cpp │ │ │ ├── hyperedge01.cpp │ │ │ ├── hyperedge02.cpp │ │ │ ├── hyperedgeLoop1.cpp │ │ │ ├── hyperedgeRerouting01.cpp │ │ │ ├── improveHyperedge01.cpp │ │ │ ├── improveHyperedge02.cpp │ │ │ ├── improveHyperedge03.cpp │ │ │ ├── improveHyperedge04.cpp │ │ │ ├── improveHyperedge05.cpp │ │ │ ├── improveHyperedge06.cpp │ │ │ ├── infinity.cpp │ │ │ ├── inline.cpp │ │ │ ├── inlineOverlap09.cpp │ │ │ ├── inlineOverlap10.cpp │ │ │ ├── inlineOverlap11.cpp │ │ │ ├── inlineShapes.cpp │ │ │ ├── inlineoverlap01.cpp │ │ │ ├── inlineoverlap02.cpp │ │ │ ├── inlineoverlap03.cpp │ │ │ ├── inlineoverlap04.cpp │ │ │ ├── inlineoverlap05.cpp │ │ │ ├── inlineoverlap06.cpp │ │ │ ├── inlineoverlap07.cpp │ │ │ ├── inlineoverlap08.cpp │ │ │ ├── junction01.cpp │ │ │ ├── junction02.cpp │ │ │ ├── junction03.cpp │ │ │ ├── junction04.cpp │ │ │ ├── latesetup.cpp │ │ │ ├── lineSegWrapperCrash1.cpp │ │ │ ├── lineSegWrapperCrash2.cpp │ │ │ ├── lineSegWrapperCrash3.cpp │ │ │ ├── lineSegWrapperCrash4.cpp │ │ │ ├── lineSegWrapperCrash5.cpp │ │ │ ├── lineSegWrapperCrash6.cpp │ │ │ ├── lineSegWrapperCrash7.cpp │ │ │ ├── lineSegWrapperCrash8.cpp │ │ │ ├── msctests/ │ │ │ │ ├── 2junctions.vcxproj │ │ │ │ ├── buildOrthogonalChannelInfo1.vcxproj │ │ │ │ ├── checkpointNudging1.vcxproj │ │ │ │ ├── checkpointNudging2.vcxproj │ │ │ │ ├── checkpoints01.vcxproj │ │ │ │ ├── connectionpin01.vcxproj │ │ │ │ ├── connectionpin02.vcxproj │ │ │ │ ├── connectionpin03.vcxproj │ │ │ │ ├── connendmove.vcxproj │ │ │ │ ├── corneroverlap01.vcxproj │ │ │ │ ├── example.vcxproj │ │ │ │ ├── finalSegmentNudging1.vcxproj │ │ │ │ ├── finalSegmentNudging2.vcxproj │ │ │ │ ├── finalSegmentNudging3.vcxproj │ │ │ │ ├── freeFloatingDirection01.vcxproj │ │ │ │ └── junction01.vcxproj │ │ │ ├── multiconnact.cpp │ │ │ ├── node1.cpp │ │ │ ├── nudgeCrossing01.cpp │ │ │ ├── nudgeintobug.cpp │ │ │ ├── nudgeold.cpp │ │ │ ├── nudgingSkipsCheckpoint01.cpp │ │ │ ├── nudgingSkipsCheckpoint02.cpp │ │ │ ├── orderassertion.cpp │ │ │ ├── orthordering01.cpp │ │ │ ├── orthordering02.cpp │ │ │ ├── output/ │ │ │ │ └── README.txt │ │ │ ├── overlappingRects.cpp │ │ │ ├── penaltyRerouting01.cpp │ │ │ ├── performance01.cpp │ │ │ ├── reallyslowrouting.cpp │ │ │ ├── removeJunctions01.cpp │ │ │ ├── restrictedNudging.cpp │ │ │ ├── slowrouting.cpp │ │ │ ├── tjunct.cpp │ │ │ ├── treeRootCrash01.cpp │ │ │ ├── treeRootCrash02.cpp │ │ │ ├── unsatisfiableRangeAssertion.cpp │ │ │ ├── validPaths01.cpp │ │ │ ├── validPaths02.cpp │ │ │ └── vertlineassertion.cpp │ │ ├── timer.cpp │ │ ├── timer.h │ │ ├── vertices.cpp │ │ ├── vertices.h │ │ ├── viscluster.cpp │ │ ├── viscluster.h │ │ ├── visibility.cpp │ │ ├── visibility.h │ │ ├── vpsc.cpp │ │ └── vpsc.h │ ├── libcola/ │ │ ├── Makefile.am │ │ ├── box.cpp │ │ ├── box.h │ │ ├── cc_clustercontainmentconstraints.cpp │ │ ├── cc_clustercontainmentconstraints.h │ │ ├── cc_nonoverlapconstraints.cpp │ │ ├── cc_nonoverlapconstraints.h │ │ ├── cluster.cpp │ │ ├── cluster.h │ │ ├── cola.cpp │ │ ├── cola.h │ │ ├── cola_log.h │ │ ├── colafd.cpp │ │ ├── commondefs.h │ │ ├── compound_constraints.cpp │ │ ├── compound_constraints.h │ │ ├── conjugate_gradient.cpp │ │ ├── conjugate_gradient.h │ │ ├── connected_components.cpp │ │ ├── connected_components.h │ │ ├── convex_hull.cpp │ │ ├── convex_hull.h │ │ ├── doc/ │ │ │ └── description.doc │ │ ├── exceptions.h │ │ ├── gradient_projection.cpp │ │ ├── gradient_projection.h │ │ ├── libcola.pc.in │ │ ├── output_svg.cpp │ │ ├── output_svg.h │ │ ├── pseudorandom.cpp │ │ ├── pseudorandom.h │ │ ├── shapepair.cpp │ │ ├── shapepair.h │ │ ├── shortest_paths.h │ │ ├── sparse_matrix.h │ │ ├── straightener.cpp │ │ ├── straightener.h │ │ ├── tests/ │ │ │ ├── FixedRelativeConstraint01.cpp │ │ │ ├── Makefile.am │ │ │ ├── StillOverlap01.cpp │ │ │ ├── StillOverlap02.cpp │ │ │ ├── boundary.cpp │ │ │ ├── connected_components.cpp │ │ │ ├── constrained.cpp │ │ │ ├── containment.cpp │ │ │ ├── containment2.cpp │ │ │ ├── convex_hull.cpp │ │ │ ├── cycle_detector.cpp │ │ │ ├── data/ │ │ │ │ ├── 1138_bus.txt │ │ │ │ └── uetzNetworkGSC-all.gml │ │ │ ├── gml_graph.cpp │ │ │ ├── graphlayouttest.h │ │ │ ├── initialOverlap.cpp │ │ │ ├── invalid.cpp │ │ │ ├── large_graph.cpp │ │ │ ├── makefeasible.cpp │ │ │ ├── makefeasible02.cpp │ │ │ ├── makemovie.sh │ │ │ ├── max_acyclic_subgraph.cpp │ │ │ ├── overlappingClusters01.cpp │ │ │ ├── overlappingClusters02.cpp │ │ │ ├── overlappingClusters04.cpp │ │ │ ├── page_bounds.cpp │ │ │ ├── planar.cpp │ │ │ ├── random_graph.cpp │ │ │ ├── rectangularClusters01.cpp │ │ │ ├── rectclustershapecontainment.cpp │ │ │ ├── resize.cpp │ │ │ ├── runtest.sh │ │ │ ├── scale_free.cpp │ │ │ ├── shortest_paths.cpp │ │ │ ├── small_graph.cpp │ │ │ ├── sparse_matrix.cpp │ │ │ ├── test_cg.cpp │ │ │ ├── topology.cpp │ │ │ ├── trees.cpp │ │ │ ├── unconstrained.cpp │ │ │ ├── unsatisfiable.cpp │ │ │ ├── view_cd_output.sh │ │ │ └── view_mas_output.sh │ │ └── unused.h │ ├── libdialect/ │ │ ├── Makefile.am │ │ ├── aca.cpp │ │ ├── aca.h │ │ ├── bendseqlookup.cpp │ │ ├── chains.cpp │ │ ├── chains.h │ │ ├── commontypes.h │ │ ├── constraints.cpp │ │ ├── constraints.h │ │ ├── doc/ │ │ │ └── description.doc │ │ ├── edges.cpp │ │ ├── expansion.cpp │ │ ├── expansion.h │ │ ├── faces.cpp │ │ ├── faces.h │ │ ├── gen_bend_seq_lookup.py │ │ ├── gen_qa_lookup.py │ │ ├── graphs.cpp │ │ ├── graphs.h │ │ ├── hola.cpp │ │ ├── hola.h │ │ ├── io.cpp │ │ ├── io.h │ │ ├── libdialect.h │ │ ├── libdialect.pc.in │ │ ├── logging.cpp │ │ ├── logging.h │ │ ├── nearalign.cpp │ │ ├── nearalign.h │ │ ├── nexes.cpp │ │ ├── nodeconfig.cpp │ │ ├── nodeconfig.h │ │ ├── nodes.cpp │ │ ├── opts.h │ │ ├── ortho.cpp │ │ ├── ortho.h │ │ ├── peeling.cpp │ │ ├── peeling.h │ │ ├── planarise.cpp │ │ ├── planarise.h │ │ ├── qalookup.cpp │ │ ├── quadaction.cpp │ │ ├── quadaction.h │ │ ├── routing.cpp │ │ ├── routing.h │ │ ├── sides.cpp │ │ ├── tests/ │ │ │ ├── Makefile.am │ │ │ ├── aca.cpp │ │ │ ├── assignments.cpp │ │ │ ├── bbox.cpp │ │ │ ├── bendcosts.cpp │ │ │ ├── chainconfig01.cpp │ │ │ ├── chainconfig02.cpp │ │ │ ├── chainconfig03.cpp │ │ │ ├── chainsandcycles.cpp │ │ │ ├── cmplayout01.cpp │ │ │ ├── collateralexpand01.cpp │ │ │ ├── collateralexpand02.cpp │ │ │ ├── conncomps.cpp │ │ │ ├── containedsegment01.cpp │ │ │ ├── destress.cpp │ │ │ ├── destress02.cpp │ │ │ ├── destress_aca.cpp │ │ │ ├── expand01.cpp │ │ │ ├── expand02.cpp │ │ │ ├── expand03.cpp │ │ │ ├── expand04.cpp │ │ │ ├── expand05.cpp │ │ │ ├── expand06.cpp │ │ │ ├── expand07.cpp │ │ │ ├── expand08.cpp │ │ │ ├── expand09.cpp │ │ │ ├── extrabdrygap.cpp │ │ │ ├── faceset01.cpp │ │ │ ├── faceset02.cpp │ │ │ ├── graphs/ │ │ │ │ ├── metro/ │ │ │ │ │ ├── london.gml │ │ │ │ │ ├── london.tglf │ │ │ │ │ ├── melb.gml │ │ │ │ │ ├── melb.tglf │ │ │ │ │ ├── sydney.gml │ │ │ │ │ ├── sydney.tglf │ │ │ │ │ ├── wien-kurz.gml │ │ │ │ │ └── wien-kurz.tglf │ │ │ │ ├── random/ │ │ │ │ │ ├── makeCorpus.py │ │ │ │ │ ├── randomGraph │ │ │ │ │ ├── v100e100.gml │ │ │ │ │ ├── v100e100.tglf │ │ │ │ │ ├── v100e110.gml │ │ │ │ │ ├── v100e110.tglf │ │ │ │ │ ├── v100e120.gml │ │ │ │ │ ├── v100e120.tglf │ │ │ │ │ ├── v100e130.gml │ │ │ │ │ ├── v100e130.tglf │ │ │ │ │ ├── v100e140.gml │ │ │ │ │ ├── v100e140.tglf │ │ │ │ │ ├── v100e150.gml │ │ │ │ │ ├── v100e150.tglf │ │ │ │ │ ├── v10e10.gml │ │ │ │ │ ├── v10e10.tglf │ │ │ │ │ ├── v10e11.gml │ │ │ │ │ ├── v10e11.tglf │ │ │ │ │ ├── v10e12.gml │ │ │ │ │ ├── v10e12.tglf │ │ │ │ │ ├── v10e13.gml │ │ │ │ │ ├── v10e13.tglf │ │ │ │ │ ├── v10e14.gml │ │ │ │ │ ├── v10e14.tglf │ │ │ │ │ ├── v10e15.gml │ │ │ │ │ ├── v10e15.tglf │ │ │ │ │ ├── v110e110.gml │ │ │ │ │ ├── v110e110.tglf │ │ │ │ │ ├── v110e121.gml │ │ │ │ │ ├── v110e121.tglf │ │ │ │ │ ├── v110e132.gml │ │ │ │ │ ├── v110e132.tglf │ │ │ │ │ ├── v110e143.gml │ │ │ │ │ ├── v110e143.tglf │ │ │ │ │ ├── v110e154.gml │ │ │ │ │ ├── v110e154.tglf │ │ │ │ │ ├── v110e165.gml │ │ │ │ │ ├── v110e165.tglf │ │ │ │ │ ├── v120e120.gml │ │ │ │ │ ├── v120e120.tglf │ │ │ │ │ ├── v120e132.gml │ │ │ │ │ ├── v120e132.tglf │ │ │ │ │ ├── v120e144.gml │ │ │ │ │ ├── v120e144.tglf │ │ │ │ │ ├── v120e156.gml │ │ │ │ │ ├── v120e156.tglf │ │ │ │ │ ├── v120e168.gml │ │ │ │ │ ├── v120e168.tglf │ │ │ │ │ ├── v120e180.gml │ │ │ │ │ ├── v120e180.tglf │ │ │ │ │ ├── v130e130.gml │ │ │ │ │ ├── v130e130.tglf │ │ │ │ │ ├── v130e143.gml │ │ │ │ │ ├── v130e143.tglf │ │ │ │ │ ├── v130e156.gml │ │ │ │ │ ├── v130e156.tglf │ │ │ │ │ ├── v130e169.gml │ │ │ │ │ ├── v130e169.tglf │ │ │ │ │ ├── v130e182.gml │ │ │ │ │ ├── v130e182.tglf │ │ │ │ │ ├── v130e195.gml │ │ │ │ │ ├── v130e195.tglf │ │ │ │ │ ├── v140e140.gml │ │ │ │ │ ├── v140e140.tglf │ │ │ │ │ ├── v140e154.gml │ │ │ │ │ ├── v140e154.tglf │ │ │ │ │ ├── v140e168.gml │ │ │ │ │ ├── v140e168.tglf │ │ │ │ │ ├── v140e182.gml │ │ │ │ │ ├── v140e182.tglf │ │ │ │ │ ├── v140e196.gml │ │ │ │ │ ├── v140e196.tglf │ │ │ │ │ ├── v140e210.gml │ │ │ │ │ ├── v140e210.tglf │ │ │ │ │ ├── v150e150.gml │ │ │ │ │ ├── v150e150.tglf │ │ │ │ │ ├── v150e165.gml │ │ │ │ │ ├── v150e165.tglf │ │ │ │ │ ├── v150e180.gml │ │ │ │ │ ├── v150e180.tglf │ │ │ │ │ ├── v150e195.gml │ │ │ │ │ ├── v150e195.tglf │ │ │ │ │ ├── v150e210.gml │ │ │ │ │ ├── v150e210.tglf │ │ │ │ │ ├── v150e225.gml │ │ │ │ │ ├── v150e225.tglf │ │ │ │ │ ├── v160e160.gml │ │ │ │ │ ├── v160e160.tglf │ │ │ │ │ ├── v160e176.gml │ │ │ │ │ ├── v160e176.tglf │ │ │ │ │ ├── v160e192.gml │ │ │ │ │ ├── v160e192.tglf │ │ │ │ │ ├── v160e208.gml │ │ │ │ │ ├── v160e208.tglf │ │ │ │ │ ├── v160e224.gml │ │ │ │ │ ├── v160e224.tglf │ │ │ │ │ ├── v160e240.gml │ │ │ │ │ ├── v160e240.tglf │ │ │ │ │ ├── v170e170.gml │ │ │ │ │ ├── v170e170.tglf │ │ │ │ │ ├── v170e187.gml │ │ │ │ │ ├── v170e187.tglf │ │ │ │ │ ├── v170e204.gml │ │ │ │ │ ├── v170e204.tglf │ │ │ │ │ ├── v170e221.gml │ │ │ │ │ ├── v170e221.tglf │ │ │ │ │ ├── v170e238.gml │ │ │ │ │ ├── v170e238.tglf │ │ │ │ │ ├── v170e255.gml │ │ │ │ │ ├── v170e255.tglf │ │ │ │ │ ├── v180e180.gml │ │ │ │ │ ├── v180e180.tglf │ │ │ │ │ ├── v180e198.gml │ │ │ │ │ ├── v180e198.tglf │ │ │ │ │ ├── v180e216.gml │ │ │ │ │ ├── v180e216.tglf │ │ │ │ │ ├── v180e234.gml │ │ │ │ │ ├── v180e234.tglf │ │ │ │ │ ├── v180e252.gml │ │ │ │ │ ├── v180e252.tglf │ │ │ │ │ ├── v180e270.gml │ │ │ │ │ ├── v180e270.tglf │ │ │ │ │ ├── v190e190.gml │ │ │ │ │ ├── v190e190.tglf │ │ │ │ │ ├── v190e209.gml │ │ │ │ │ ├── v190e209.tglf │ │ │ │ │ ├── v190e228.gml │ │ │ │ │ ├── v190e228.tglf │ │ │ │ │ ├── v190e247.gml │ │ │ │ │ ├── v190e247.tglf │ │ │ │ │ ├── v190e266.gml │ │ │ │ │ ├── v190e266.tglf │ │ │ │ │ ├── v190e285.gml │ │ │ │ │ ├── v190e285.tglf │ │ │ │ │ ├── v200e200.gml │ │ │ │ │ ├── v200e200.tglf │ │ │ │ │ ├── v200e220.gml │ │ │ │ │ ├── v200e220.tglf │ │ │ │ │ ├── v200e240.gml │ │ │ │ │ ├── v200e240.tglf │ │ │ │ │ ├── v200e260.gml │ │ │ │ │ ├── v200e260.tglf │ │ │ │ │ ├── v200e280.gml │ │ │ │ │ ├── v200e280.tglf │ │ │ │ │ ├── v200e300.gml │ │ │ │ │ ├── v200e300.tglf │ │ │ │ │ ├── v20e20.gml │ │ │ │ │ ├── v20e20.tglf │ │ │ │ │ ├── v20e22.gml │ │ │ │ │ ├── v20e22.tglf │ │ │ │ │ ├── v20e24.gml │ │ │ │ │ ├── v20e24.tglf │ │ │ │ │ ├── v20e26.gml │ │ │ │ │ ├── v20e26.tglf │ │ │ │ │ ├── v20e28.gml │ │ │ │ │ ├── v20e28.tglf │ │ │ │ │ ├── v20e30.gml │ │ │ │ │ ├── v20e30.tglf │ │ │ │ │ ├── v30e30.gml │ │ │ │ │ ├── v30e30.tglf │ │ │ │ │ ├── v30e33.gml │ │ │ │ │ ├── v30e33.tglf │ │ │ │ │ ├── v30e36.gml │ │ │ │ │ ├── v30e36.tglf │ │ │ │ │ ├── v30e39.gml │ │ │ │ │ ├── v30e39.tglf │ │ │ │ │ ├── v30e42.gml │ │ │ │ │ ├── v30e42.tglf │ │ │ │ │ ├── v30e45.gml │ │ │ │ │ ├── v30e45.tglf │ │ │ │ │ ├── v40e40.gml │ │ │ │ │ ├── v40e40.tglf │ │ │ │ │ ├── v40e42.gml │ │ │ │ │ ├── v40e42.tglf │ │ │ │ │ ├── v40e44.gml │ │ │ │ │ ├── v40e44.tglf │ │ │ │ │ ├── v40e48.gml │ │ │ │ │ ├── v40e48.tglf │ │ │ │ │ ├── v40e52.gml │ │ │ │ │ ├── v40e52.tglf │ │ │ │ │ ├── v40e56.gml │ │ │ │ │ ├── v40e56.tglf │ │ │ │ │ ├── v40e60.gml │ │ │ │ │ ├── v40e60.tglf │ │ │ │ │ ├── v50e50.gml │ │ │ │ │ ├── v50e50.tglf │ │ │ │ │ ├── v50e55.gml │ │ │ │ │ ├── v50e55.tglf │ │ │ │ │ ├── v50e60.gml │ │ │ │ │ ├── v50e60.tglf │ │ │ │ │ ├── v50e65.gml │ │ │ │ │ ├── v50e65.tglf │ │ │ │ │ ├── v50e70.gml │ │ │ │ │ ├── v50e70.tglf │ │ │ │ │ ├── v50e75.gml │ │ │ │ │ ├── v50e75.tglf │ │ │ │ │ ├── v60e60.gml │ │ │ │ │ ├── v60e60.tglf │ │ │ │ │ ├── v60e66.gml │ │ │ │ │ ├── v60e66.tglf │ │ │ │ │ ├── v60e72.gml │ │ │ │ │ ├── v60e72.tglf │ │ │ │ │ ├── v60e78.gml │ │ │ │ │ ├── v60e78.tglf │ │ │ │ │ ├── v60e84.gml │ │ │ │ │ ├── v60e84.tglf │ │ │ │ │ ├── v60e90.gml │ │ │ │ │ ├── v60e90.tglf │ │ │ │ │ ├── v70e105.gml │ │ │ │ │ ├── v70e105.tglf │ │ │ │ │ ├── v70e70.gml │ │ │ │ │ ├── v70e70.tglf │ │ │ │ │ ├── v70e77.gml │ │ │ │ │ ├── v70e77.tglf │ │ │ │ │ ├── v70e84.gml │ │ │ │ │ ├── v70e84.tglf │ │ │ │ │ ├── v70e91.gml │ │ │ │ │ ├── v70e91.tglf │ │ │ │ │ ├── v70e98.gml │ │ │ │ │ ├── v70e98.tglf │ │ │ │ │ ├── v80e104.gml │ │ │ │ │ ├── v80e104.tglf │ │ │ │ │ ├── v80e112.gml │ │ │ │ │ ├── v80e112.tglf │ │ │ │ │ ├── v80e120.gml │ │ │ │ │ ├── v80e120.tglf │ │ │ │ │ ├── v80e80.gml │ │ │ │ │ ├── v80e80.tglf │ │ │ │ │ ├── v80e88.gml │ │ │ │ │ ├── v80e88.tglf │ │ │ │ │ ├── v80e96.gml │ │ │ │ │ ├── v80e96.tglf │ │ │ │ │ ├── v90e108.gml │ │ │ │ │ ├── v90e108.tglf │ │ │ │ │ ├── v90e117.gml │ │ │ │ │ ├── v90e117.tglf │ │ │ │ │ ├── v90e126.gml │ │ │ │ │ ├── v90e126.tglf │ │ │ │ │ ├── v90e135.gml │ │ │ │ │ ├── v90e135.tglf │ │ │ │ │ ├── v90e90.gml │ │ │ │ │ ├── v90e90.tglf │ │ │ │ │ ├── v90e99.gml │ │ │ │ │ └── v90e99.tglf │ │ │ │ ├── sbgn/ │ │ │ │ │ ├── calvin.tglf │ │ │ │ │ ├── glyco.tglf │ │ │ │ │ ├── keratan.tglf │ │ │ │ │ └── urea1.tglf │ │ │ │ ├── special/ │ │ │ │ │ ├── 3cross4cross.gml │ │ │ │ │ ├── 3cross4cross.tglf │ │ │ │ │ ├── 3cross4cross_wTrees.gml │ │ │ │ │ ├── 3cross4cross_wTrees.tglf │ │ │ │ │ ├── Arpanet19728_input.tglf │ │ │ │ │ ├── Belnet2004.tglf │ │ │ │ │ ├── Cernet.tglf │ │ │ │ │ ├── Claranet.tglf │ │ │ │ │ ├── Garr201001.tglf │ │ │ │ │ ├── GtsSlovakia_input.tglf │ │ │ │ │ ├── Janetlense.tglf │ │ │ │ │ ├── SepMatrixIter.tglf │ │ │ │ │ ├── X_4.gml │ │ │ │ │ ├── X_4.tglf │ │ │ │ │ ├── Y_4.gml │ │ │ │ │ ├── Y_4.tglf │ │ │ │ │ ├── aspectratio01.gml │ │ │ │ │ ├── bend_costs.tglf │ │ │ │ │ ├── bundlecross.gml │ │ │ │ │ ├── bundlecross.tglf │ │ │ │ │ ├── bundlerouting.gml │ │ │ │ │ ├── bundlerouting.tglf │ │ │ │ │ ├── bundlerouting1.gml │ │ │ │ │ ├── bundlerouting1.tglf │ │ │ │ │ ├── bundlerouting2.gml │ │ │ │ │ ├── bundlerouting2.tglf │ │ │ │ │ ├── chainconfig01.gml │ │ │ │ │ ├── chainconfig01.tglf │ │ │ │ │ ├── chains_and_cycles.gml │ │ │ │ │ ├── chains_and_cycles.tglf │ │ │ │ │ ├── cmplayout01.tglf │ │ │ │ │ ├── cmplayout02.tglf │ │ │ │ │ ├── cmplayout03.tglf │ │ │ │ │ ├── cmplayout04.tglf │ │ │ │ │ ├── coincidentnodes.tglf │ │ │ │ │ ├── column8.gml │ │ │ │ │ ├── column8.tglf │ │ │ │ │ ├── components.gml │ │ │ │ │ ├── components.tglf │ │ │ │ │ ├── core_with_trees.gml │ │ │ │ │ ├── core_with_trees.tglf │ │ │ │ │ ├── expand02.gml │ │ │ │ │ ├── expand02.tglf │ │ │ │ │ ├── expand03.gml │ │ │ │ │ ├── expand03.tglf │ │ │ │ │ ├── expand04.gml │ │ │ │ │ ├── expand04.tglf │ │ │ │ │ ├── expand04b.gml │ │ │ │ │ ├── expand04b.tglf │ │ │ │ │ ├── expand05.gml │ │ │ │ │ ├── expand05.tglf │ │ │ │ │ ├── expand07.tglf │ │ │ │ │ ├── expand08.gml │ │ │ │ │ ├── expand08.tglf │ │ │ │ │ ├── expand09.gml │ │ │ │ │ ├── expand09.tglf │ │ │ │ │ ├── holasbgn01_layout.tglf │ │ │ │ │ ├── lone_node.gml │ │ │ │ │ ├── lone_node.tglf │ │ │ │ │ ├── nearalign01.gml │ │ │ │ │ ├── nearalign01.tglf │ │ │ │ │ ├── octogon.gml │ │ │ │ │ ├── octogon.tglf │ │ │ │ │ ├── readconstraints.tglf │ │ │ │ │ ├── rotate01.gml │ │ │ │ │ ├── rotate01.tglf │ │ │ │ │ ├── rotate02.gml │ │ │ │ │ ├── rotate02.tglf │ │ │ │ │ ├── routing01.gml │ │ │ │ │ ├── routing01.tglf │ │ │ │ │ ├── samesiderouting.gml │ │ │ │ │ ├── samesiderouting.tglf │ │ │ │ │ ├── straight_6.gml │ │ │ │ │ ├── straight_6.tglf │ │ │ │ │ ├── treeplacement2.gml │ │ │ │ │ ├── treeplacement2.tglf │ │ │ │ │ ├── treeplacement3.gml │ │ │ │ │ ├── treeplacement3.tglf │ │ │ │ │ ├── treeplacement4.gml │ │ │ │ │ ├── treeplacement4.tglf │ │ │ │ │ ├── treeplacement5.gml │ │ │ │ │ └── treeplacement5.tglf │ │ │ │ └── trees/ │ │ │ │ ├── tree01.gml │ │ │ │ ├── tree01.tglf │ │ │ │ ├── tree01m.gml │ │ │ │ ├── tree01m.tglf │ │ │ │ ├── tree02.gml │ │ │ │ ├── tree02.tglf │ │ │ │ ├── tree03.gml │ │ │ │ └── tree03.tglf │ │ │ ├── hola10.cpp │ │ │ ├── hola11.cpp │ │ │ ├── hola12.cpp │ │ │ ├── holaRand.cpp │ │ │ ├── hola_arpa.cpp │ │ │ ├── hola_belnet.cpp │ │ │ ├── hola_cernet.cpp │ │ │ ├── hola_claranet.cpp │ │ │ ├── hola_garr.cpp │ │ │ ├── hola_janetlense.cpp │ │ │ ├── hola_slovakia.cpp │ │ │ ├── hola_tree.cpp │ │ │ ├── holalonenode.cpp │ │ │ ├── holametro01.cpp │ │ │ ├── holasbgn01.cpp │ │ │ ├── holasbgn02.cpp │ │ │ ├── holasbgn03.cpp │ │ │ ├── holasbgn04.cpp │ │ │ ├── inserttrees01.cpp │ │ │ ├── leaflessroute01.cpp │ │ │ ├── leaflessroute02.cpp │ │ │ ├── lookupqas.cpp │ │ │ ├── nbroctal.cpp │ │ │ ├── nearalign01.cpp │ │ │ ├── nearalign02.cpp │ │ │ ├── nearby.cpp │ │ │ ├── negativesepco.cpp │ │ │ ├── negativezero.cpp │ │ │ ├── nodeconfig01.cpp │ │ │ ├── nudgeopt.cpp │ │ │ ├── output/ │ │ │ │ ├── README.txt │ │ │ │ └── svg/ │ │ │ │ └── README.txt │ │ │ ├── partition01.cpp │ │ │ ├── peel.cpp │ │ │ ├── planarise01.cpp │ │ │ ├── planarise02.cpp │ │ │ ├── projseq01.cpp │ │ │ ├── readconstraints.cpp │ │ │ ├── rotate01.cpp │ │ │ ├── rotate02.cpp │ │ │ ├── rotate03.cpp │ │ │ ├── rotate04.cpp │ │ │ ├── routing01.cpp │ │ │ ├── sep_matrix_iter.cpp │ │ │ ├── solidify.cpp │ │ │ ├── swig_tests/ │ │ │ │ ├── aca.py │ │ │ │ ├── chainconfig.py │ │ │ │ ├── destress_aca.py │ │ │ │ ├── expand.py │ │ │ │ ├── faceset.py │ │ │ │ ├── hola.py │ │ │ │ ├── leafless.py │ │ │ │ ├── nearalign.py │ │ │ │ ├── orthohub.py │ │ │ │ ├── output/ │ │ │ │ │ ├── README.txt │ │ │ │ │ └── svg/ │ │ │ │ │ └── README.txt │ │ │ │ ├── planarise.py │ │ │ │ ├── run_tests │ │ │ │ └── treeplacement.py │ │ │ ├── symmtree.cpp │ │ │ ├── tglf01.cpp │ │ │ ├── treeboxes01.cpp │ │ │ ├── treeplacement01.cpp │ │ │ ├── treeplacement02.cpp │ │ │ ├── treeplacement03.cpp │ │ │ ├── trees.cpp │ │ │ ├── trees2.cpp │ │ │ └── vpsc01.cpp │ │ ├── treeplacement.cpp │ │ ├── treeplacement.h │ │ ├── trees.cpp │ │ ├── trees.h │ │ └── util.h │ ├── libproject/ │ │ ├── Makefile.am │ │ ├── project.cpp │ │ ├── project.h │ │ ├── project_log.h │ │ ├── tests/ │ │ │ ├── Makefile.am │ │ │ ├── quadprogpp/ │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── QuadProg++.cc │ │ │ │ ├── QuadProg++.h │ │ │ │ └── main.cc │ │ │ ├── random.cpp │ │ │ ├── simple.cpp │ │ │ ├── static.cpp │ │ │ ├── testutil.cpp │ │ │ ├── testutil.h │ │ │ ├── treeqp.cpp │ │ │ ├── treeqp.h │ │ │ └── treeqptest.cpp │ │ ├── util.cpp │ │ ├── util.h │ │ └── variable.h │ ├── libtopology/ │ │ ├── Makefile.am │ │ ├── cola_topology_addon.cpp │ │ ├── cola_topology_addon.h │ │ ├── compute_forces.cpp │ │ ├── doc/ │ │ │ └── description.doc │ │ ├── libtopology.pc.in │ │ ├── orthogonal_topology.cpp │ │ ├── orthogonal_topology.h │ │ ├── resize.cpp │ │ ├── tests/ │ │ │ ├── Makefile.am │ │ │ ├── beautify.cpp │ │ │ ├── bend2.m │ │ │ ├── kamada.cpp │ │ │ ├── nodedragging.cpp │ │ │ ├── nooverlap.cpp │ │ │ ├── orthogonalOpt.cpp │ │ │ ├── output/ │ │ │ │ └── README.txt │ │ │ ├── simple_bend.cpp │ │ │ ├── simple_bend.m │ │ │ ├── split.cpp │ │ │ ├── split.m │ │ │ ├── test.h │ │ │ └── triangle.cpp │ │ ├── topology_constraints.cpp │ │ ├── topology_constraints.h │ │ ├── topology_constraints_constructor.cpp │ │ ├── topology_graph.cpp │ │ ├── topology_graph.h │ │ ├── topology_log.h │ │ ├── topologyconstraint.nb │ │ └── util.h │ ├── libvpsc/ │ │ ├── COPYING │ │ ├── Makefile.am │ │ ├── assertions.h │ │ ├── block.cpp │ │ ├── block.h │ │ ├── blocks.cpp │ │ ├── blocks.h │ │ ├── cbuffer.cpp │ │ ├── cbuffer.h │ │ ├── constraint.cpp │ │ ├── constraint.h │ │ ├── doc/ │ │ │ └── description.doc │ │ ├── exceptions.h │ │ ├── libvpsc.pc.in │ │ ├── linesegment.h │ │ ├── pairing_heap.h │ │ ├── rectangle.cpp │ │ ├── rectangle.h │ │ ├── solve_VPSC.cpp │ │ ├── solve_VPSC.h │ │ ├── tests/ │ │ │ ├── Makefile.am │ │ │ ├── block.cpp │ │ │ ├── cycle.cpp │ │ │ ├── rectangleoverlap.cpp │ │ │ └── satisfy_inc.cpp │ │ ├── variable.cpp │ │ └── variable.h │ ├── swig-python-setup.py │ └── swig-python3-setup.py └── experimental/ ├── RectangleOverlapSolver/ │ ├── .cRectangleOverlap.log.swp │ ├── .classpath │ ├── .project │ ├── .settings/ │ │ └── org.eclipse.jdt.core.prefs │ ├── logging.properties │ ├── manifest.mf │ ├── placement/ │ │ ├── ActiveSetPlacement.java │ │ ├── Block.java │ │ ├── Blocks.java │ │ ├── Constraint.java │ │ ├── ConstraintGenerator.java │ │ ├── Constraints.java │ │ ├── DebugFrame.java │ │ ├── DebugPanel.java │ │ ├── DrawingDimensions.java │ │ ├── FSA.java │ │ ├── GUITest.java │ │ ├── Graph.java │ │ ├── GraphParser.java │ │ ├── GraphParserTest.java │ │ ├── MaxPairingHeap.java │ │ ├── MaxPriorityQueue.java │ │ ├── MinPairingHeap.java │ │ ├── MosekPlacement.java │ │ ├── NativeFSA.java │ │ ├── PNode.java │ │ ├── PerformanceTest.java │ │ ├── Placement.java │ │ ├── PlacementTest.java │ │ ├── QPRectanglePlacement.java │ │ ├── RectangleDrawerFrame.java │ │ ├── RectangleDrawerPanel.java │ │ ├── RectanglePlacement.java │ │ ├── RectangleView.java │ │ ├── ScanListPriorityQueue.java │ │ ├── SimpleTest.java │ │ ├── SlowPriorityQueue.java │ │ ├── SolveVPSC.java │ │ ├── Variable.java │ │ ├── Variables.java │ │ └── prolog/ │ │ ├── Part 1.2 │ │ ├── Part 1.4 │ │ └── blocks.pl │ ├── placement_SolveVPSC.h │ ├── problem.blocks │ ├── prolog/ │ │ ├── Part 1.2 │ │ ├── Part 1.4 │ │ └── blocks.pl │ └── testdata/ │ ├── Test1.dot │ ├── graph1.dot │ ├── graph2.dot │ ├── graph3.dot │ └── graph4.dot ├── draw-bn/ │ ├── Asia.dne │ ├── Makefile │ ├── TODO │ ├── asia.cpp │ ├── draw-bn.cpp │ ├── graphlayouttest.cpp │ └── graphlayouttest.h ├── neatogen/ │ ├── .constrained_majorization_diredges.c.swp │ ├── .quad_prog_vpsc.h.swo │ ├── Makefile │ ├── Makefile.am │ ├── Makefile.in │ ├── Makefile.old │ ├── adjust.c │ ├── adjust.h │ ├── bfs.c │ ├── bfs.h │ ├── circuit.c │ ├── closest.c │ ├── closest.h │ ├── compute_hierarchy.c │ ├── conjgrad.c │ ├── conjgrad.h │ ├── constrained_majorization.c │ ├── constrained_majorization_vsep.c │ ├── constraint.c │ ├── defs.h │ ├── digcola.h │ ├── dijkstra.c │ ├── dijkstra.h │ ├── edges.c │ ├── edges.h │ ├── embed_graph.c │ ├── embed_graph.h │ ├── find_ints.c │ ├── geometry.c │ ├── geometry.h │ ├── heap.c │ ├── heap.h │ ├── hedges.c │ ├── hedges.h │ ├── info.c │ ├── info.h │ ├── intersect.c │ ├── kkutils.c │ ├── kkutils.h │ ├── legal.c │ ├── lu.c │ ├── matinv.c │ ├── matrix_ops.c │ ├── matrix_ops.h │ ├── mem.h │ ├── memory.c │ ├── mosek_quad_solve.c │ ├── mosek_quad_solve.h │ ├── neato.h │ ├── neatoinit.c │ ├── neatoprocs.h │ ├── neatosplines.c │ ├── opt_arrangement.c │ ├── pca.c │ ├── pca.h │ ├── poly.c │ ├── poly.h │ ├── printvis.c │ ├── quad_prog_solve.c │ ├── quad_prog_solver.h │ ├── quad_prog_vpsc.c │ ├── quad_prog_vpsc.h │ ├── simple.h │ ├── site.c │ ├── site.h │ ├── smart_ini_x.c │ ├── solve.c │ ├── stress.c │ ├── stress.h │ ├── stuff.c │ ├── voronoi.c │ └── voronoi.h └── solve_VPSC/ ├── .Makefile.am.swp ├── .test_rectangleoverlap.cpp.swp ├── AUTHORS ├── ChangeLog ├── Makefile.am ├── Makefile.in ├── NEWS ├── README ├── aclocal.m4 ├── configure ├── configure.in ├── libvpsc/ │ ├── COPYING │ ├── Makefile.am │ ├── block.cpp │ ├── block.h │ ├── blocks.cpp │ ├── blocks.h │ ├── constraint.cpp │ ├── constraint.h │ ├── csolve_VPSC.cpp │ ├── csolve_VPSC.h │ ├── generate-constraints.cpp │ ├── generate-constraints.h │ ├── pairingheap/ │ │ ├── PairingHeap.cpp │ │ ├── PairingHeap.h │ │ └── dsexceptions.h │ ├── placement_SolveVPSC.cpp │ ├── placement_SolveVPSC.h │ ├── remove_rectangle_overlap-test.cpp │ ├── remove_rectangle_overlap.cpp │ ├── remove_rectangle_overlap.h │ ├── removeoverlap.cpp │ ├── removeoverlap.h │ ├── solve_VPSC.cpp │ ├── solve_VPSC.h │ ├── variable.cpp │ └── variable.h └── tests/ ├── Makefile.am ├── block.cpp ├── csolve_VPSC.c ├── rectangleoverlap.cpp └── satisfy_inc.cpp