summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/adaptagrams/libavoid/tests/hyperedge02.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/adaptagrams/libavoid/tests/hyperedge02.cpp')
-rw-r--r--src/3rdparty/adaptagrams/libavoid/tests/hyperedge02.cpp99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/3rdparty/adaptagrams/libavoid/tests/hyperedge02.cpp b/src/3rdparty/adaptagrams/libavoid/tests/hyperedge02.cpp
new file mode 100644
index 0000000..46d4b76
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libavoid/tests/hyperedge02.cpp
@@ -0,0 +1,99 @@
+#include "libavoid/libavoid.h"
+using namespace Avoid;
+int main(void) {
+ ConnEndList hyperedgeTerminals;
+ Router *router = new Router(OrthogonalRouting);
+ /*
+ router->setRoutingPenalty((PenaltyType)0, 78.7234);
+ router->setRoutingPenalty((PenaltyType)1, 0);
+ router->setRoutingPenalty((PenaltyType)2, 0);
+ router->setRoutingPenalty((PenaltyType)3, 0);
+ router->setRoutingPenalty((PenaltyType)4, 0);
+ router->setRoutingPenalty((PenaltyType)5, 100);
+ router->setRoutingOption((RoutingOption)0, true);
+ router->setOrthogonalNudgeDistance(4);
+ */
+
+ Polygon poly1(4);
+ poly1.ps[0] = Point(461.05, 1.66648);
+ poly1.ps[1] = Point(461.05, 65.6665);
+ poly1.ps[2] = Point(376.05, 65.6665);
+ poly1.ps[3] = Point(376.05, 1.66648);
+ ShapeRef *shapeRef1 = new ShapeRef(router, poly1, 1);
+ new ShapeConnectionPin(shapeRef1, 102, 0.5, 1, true, 10, (ConnDirFlags) 2);
+ hyperedgeTerminals.push_back(ConnEnd(shapeRef1, 102));
+
+ Polygon poly2(4);
+ poly2.ps[0] = Point(404, 166);
+ poly2.ps[1] = Point(404, 227);
+ poly2.ps[2] = Point(320, 227);
+ poly2.ps[3] = Point(320, 166);
+ ShapeRef *shapeRef2 = new ShapeRef(router, poly2, 2);
+ new ShapeConnectionPin(shapeRef2, 102, 0, 0.5, true, 10, (ConnDirFlags) 4);
+ hyperedgeTerminals.push_back(ConnEnd(shapeRef2, 102));
+
+ Polygon poly3(4);
+ poly3.ps[0] = Point(240.001, 185);
+ poly3.ps[1] = Point(240.001, 227);
+ poly3.ps[2] = Point(178.001, 227);
+ poly3.ps[3] = Point(178.001, 185);
+ ShapeRef *shapeRef3 = new ShapeRef(router, poly3, 3);
+ new ShapeConnectionPin(shapeRef3, 102, 1, 0.5, true, 10, (ConnDirFlags) 8);
+ hyperedgeTerminals.push_back(ConnEnd(shapeRef3, 102));
+
+ Polygon poly4(4);
+ poly4.ps[0] = Point(274.526, 132);
+ poly4.ps[1] = Point(274.526, 174);
+ poly4.ps[2] = Point(90.526, 174);
+ poly4.ps[3] = Point(90.526, 132);
+ new ShapeRef(router, poly4, 4);
+
+ Polygon poly5(4);
+ poly5.ps[0] = Point(152.526, 1.66648);
+ poly5.ps[1] = Point(152.526, 40);
+ poly5.ps[2] = Point(90.526, 40);
+ poly5.ps[3] = Point(90.526, 1.66648);
+ ShapeRef *shapeRef5 = new ShapeRef(router, poly5, 5);
+ new ShapeConnectionPin(shapeRef5, 102, 0.5, 1, true, 10, (ConnDirFlags) 2);
+ hyperedgeTerminals.push_back(ConnEnd(shapeRef5, 102));
+
+ Polygon poly6(4);
+ poly6.ps[0] = Point(366.925, 1.66648);
+ poly6.ps[1] = Point(366.925, 92.6665);
+ poly6.ps[2] = Point(304.925, 92.6665);
+ poly6.ps[3] = Point(304.925, 1.66648);
+ new ShapeRef(router, poly6, 6);
+
+ Polygon poly8(4);
+ poly8.ps[0] = Point(345, 115);
+ poly8.ps[1] = Point(345, 140);
+ poly8.ps[2] = Point(320, 140);
+ poly8.ps[3] = Point(320, 115);
+ new ShapeRef(router, poly8, 8);
+
+ Polygon poly7(4);
+ poly7.ps[0] = Point(223.675, 1.66648);
+ poly7.ps[1] = Point(223.675, 50.3333);
+ poly7.ps[2] = Point(161.675, 50.3333);
+ poly7.ps[3] = Point(161.675, 1.66648);
+ ShapeRef *shapeRef7 = new ShapeRef(router, poly7, 7);
+ new ShapeConnectionPin(shapeRef7, 102, 0.5, 1, true, 10, (ConnDirFlags) 2);
+ hyperedgeTerminals.push_back(ConnEnd(shapeRef7, 102));
+
+ Polygon poly10(4);
+ poly10.ps[0] = Point(295.3, 1.66648);
+ poly10.ps[1] = Point(295.3, 40);
+ poly10.ps[2] = Point(233.3, 40);
+ poly10.ps[3] = Point(233.3, 1.66648);
+ ShapeRef *shapeRef10 = new ShapeRef(router, poly10, 10);
+ new ShapeConnectionPin(shapeRef10, 102, 0.5, 1, true, 10, (ConnDirFlags) 2);
+ hyperedgeTerminals.push_back(ConnEnd(shapeRef10, 102));
+
+ HyperedgeRerouter *hyperedgeRerouter = router->hyperedgeRerouter();
+ hyperedgeRerouter->registerHyperedgeForRerouting(hyperedgeTerminals);
+
+ router->processTransaction();
+ router->outputDiagram("output/hyperedge02");
+ delete router;
+ return 0;
+};