From 35a96bde514a8897f6f0fcc41c5833bf63df2e2a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 18:29:01 +0200 Subject: Adding upstream version 1.0.2. Signed-off-by: Daniel Baumann --- .../adaptagrams/libavoid/tests/hyperedge02.cpp | 99 ++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 src/3rdparty/adaptagrams/libavoid/tests/hyperedge02.cpp (limited to 'src/3rdparty/adaptagrams/libavoid/tests/hyperedge02.cpp') 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; +}; -- cgit v1.2.3