diff options
Diffstat (limited to 'src/3rdparty/adaptagrams/libavoid/tests/orthordering02.cpp')
-rw-r--r-- | src/3rdparty/adaptagrams/libavoid/tests/orthordering02.cpp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/src/3rdparty/adaptagrams/libavoid/tests/orthordering02.cpp b/src/3rdparty/adaptagrams/libavoid/tests/orthordering02.cpp new file mode 100644 index 0000000..1fec6fa --- /dev/null +++ b/src/3rdparty/adaptagrams/libavoid/tests/orthordering02.cpp @@ -0,0 +1,92 @@ +// From bandgap_1_overlap_reduced_libavoid-debug.svg. +#include "libavoid/libavoid.h" +using namespace Avoid; +int main(void) { + Router *router = new Router( + PolyLineRouting | OrthogonalRouting); + router->setRoutingPenalty((PenaltyType)0, 50); + router->setRoutingPenalty((PenaltyType)1, 0); + router->setRoutingPenalty((PenaltyType)2, 50); + router->setRoutingPenalty((PenaltyType)3, 4000); + router->setRoutingPenalty((PenaltyType)4, 110); + router->setRoutingParameter(idealNudgingDistance, 25); + + Polygon poly143407352(4); + poly143407352.ps[0] = Point(6035, 4390); + poly143407352.ps[1] = Point(6035, 5085); + poly143407352.ps[2] = Point(5675, 5085); + poly143407352.ps[3] = Point(5675, 4390); + new ShapeRef(router, poly143407352, 143407352); + + Polygon poly124950386(4); + poly124950386.ps[0] = Point(4900, 4090); + poly124950386.ps[1] = Point(4900, 4785); + poly124950386.ps[2] = Point(4540, 4785); + poly124950386.ps[3] = Point(4540, 4090); + new ShapeRef(router, poly124950386, 124950386); + + ConnRef *connRef373967044 = new ConnRef(router, 373967044); + ConnEnd srcPt373967044(Point(4890, 4250), 8); + connRef373967044->setSourceEndpoint(srcPt373967044); + ConnEnd dstPt373967044(Point(5685, 4550), 4); + connRef373967044->setDestEndpoint(dstPt373967044); + connRef373967044->setRoutingType((ConnType)2); + + ConnRef *connRef681881486 = new ConnRef(router, 681881486); + ConnEnd srcPt681881486(Point(4890, 4325), 8); + connRef681881486->setSourceEndpoint(srcPt681881486); + ConnEnd dstPt681881486(Point(5685, 4625), 4); + connRef681881486->setDestEndpoint(dstPt681881486); + connRef681881486->setRoutingType((ConnType)2); + + ConnRef *connRef829752 = new ConnRef(router, 829752); + ConnEnd srcPt829752(Point(4890, 4400), 8); + connRef829752->setSourceEndpoint(srcPt829752); + ConnEnd dstPt829752(Point(5685, 4700), 4); + connRef829752->setDestEndpoint(dstPt829752); + connRef829752->setRoutingType((ConnType)2); + + ConnRef *connRef17625739 = new ConnRef(router, 17625739); + ConnEnd srcPt17625739(Point(4890, 4475), 8); + connRef17625739->setSourceEndpoint(srcPt17625739); + ConnEnd dstPt17625739(Point(5685, 4775), 4); + connRef17625739->setDestEndpoint(dstPt17625739); + connRef17625739->setRoutingType((ConnType)2); + + ConnRef *connRef223864175 = new ConnRef(router, 223864175); + ConnEnd srcPt223864175(Point(4890, 4550), 8); + connRef223864175->setSourceEndpoint(srcPt223864175); + ConnEnd dstPt223864175(Point(5685, 4850), 4); + connRef223864175->setDestEndpoint(dstPt223864175); + connRef223864175->setRoutingType((ConnType)2); + + ConnRef *connRef98144280 = new ConnRef(router, 98144280); + ConnEnd srcPt98144280(Point(4890, 4625), 8); + connRef98144280->setSourceEndpoint(srcPt98144280); + ConnEnd dstPt98144280(Point(5685, 4925), 4); + connRef98144280->setDestEndpoint(dstPt98144280); + connRef98144280->setRoutingType((ConnType)2); + + ConnRef *connRef283100856 = new ConnRef(router, 283100856); + ConnEnd srcPt283100856(Point(4890, 4700), 8); + connRef283100856->setSourceEndpoint(srcPt283100856); + ConnEnd dstPt283100856(Point(5685, 5000), 4); + connRef283100856->setDestEndpoint(dstPt283100856); + connRef283100856->setRoutingType((ConnType)2); + + ConnRef *connRef387080925 = new ConnRef(router, 387080925); + ConnEnd srcPt387080925(Point(5685, 4475), 4); + connRef387080925->setSourceEndpoint(srcPt387080925); + ConnEnd dstPt387080925(Point(4890, 4175), 8); + connRef387080925->setDestEndpoint(dstPt387080925); + connRef387080925->setRoutingType((ConnType)2); + + router->processTransaction(); + router->outputDiagram("output/orthordering-02"); + + int crossings = router->existsCrossings(); + + delete router; + return (crossings > 0) ? 1 : 0; +}; + |