diff options
| author | Sylvain Chiron <chironsylvain@orange.fr> | 2017-07-01 11:36:41 +0000 |
|---|---|---|
| committer | Sylvain Chiron <chironsylvain@orange.fr> | 2017-07-01 11:36:41 +0000 |
| commit | fd733201b82f39655488a286c89142f321ef9dc9 (patch) | |
| tree | a12c70f213414f69467f666619b1552103f6370e /src/libavoid/tests/2junctions.cpp | |
| parent | Hackfest icon work: restore selected menu icons and make theming easier (diff) | |
| download | inkscape-fd733201b82f39655488a286c89142f321ef9dc9.tar.gz inkscape-fd733201b82f39655488a286c89142f321ef9dc9.zip | |
Updated libs from the Adaptagrams project: libavoid, libcola and libvspc; changed the code to match the new API
Signed-off-by: Sylvain Chiron <chironsylvain@orange.fr>
Diffstat (limited to 'src/libavoid/tests/2junctions.cpp')
| -rw-r--r-- | src/libavoid/tests/2junctions.cpp | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/src/libavoid/tests/2junctions.cpp b/src/libavoid/tests/2junctions.cpp new file mode 100644 index 000000000..0165d3514 --- /dev/null +++ b/src/libavoid/tests/2junctions.cpp @@ -0,0 +1,108 @@ +#include "libavoid/libavoid.h"
+#include <sstream>
+using namespace Avoid;
+
+int test()
+{
+ Avoid::ConnEnd end1;
+ Avoid::ConnEnd end2;
+ Avoid::Polygon poly;
+ Avoid::Router * router1 = new Avoid::Router(Avoid::OrthogonalRouting);
+ router1->setTransactionUse(true);
+ router1->setRoutingPenalty(Avoid::segmentPenalty);
+ router1->setRoutingPenalty(Avoid::crossingPenalty);
+ router1->setRoutingPenalty(Avoid::fixedSharedPathPenalty);
+ router1->setRoutingOption(Avoid::penaliseOrthogonalSharedPathsAtConnEnds, true);
+ router1->setRoutingParameter(idealNudgingDistance, 25);
+ poly = Avoid::Polygon(4);
+ poly.setPoint(0, Avoid::Point(51410, 50640));
+ poly.setPoint(1, Avoid::Point(51410, 50960));
+ poly.setPoint(2, Avoid::Point(51050, 50960));
+ poly.setPoint(3, Avoid::Point(51050, 50640));
+ Avoid::ShapeRef * shape365249936 = new Avoid::ShapeRef(router1, poly, 365249936);
+ Avoid::ShapeConnectionPin * pin365249936_2 = new Avoid::ShapeConnectionPin(shape365249936, 3, 0, 0.5, true, 10, 4);
+ pin365249936_2->setExclusive(true);
+ Avoid::ShapeConnectionPin * pin365249936_4 = new Avoid::ShapeConnectionPin(shape365249936, 5, 0, 0.734375, true, 10, 4);
+ pin365249936_4->setExclusive(true);
+ poly = Avoid::Polygon(4);
+ poly.setPoint(0, Avoid::Point(50760, 50691));
+ poly.setPoint(1, Avoid::Point(50760, 50775));
+ poly.setPoint(2, Avoid::Point(50640, 50775));
+ poly.setPoint(3, Avoid::Point(50640, 50691));
+ Avoid::ShapeRef * shape386142480 = new Avoid::ShapeRef(router1, poly, 386142480);
+ Avoid::ShapeConnectionPin * pin386142480_1 = new Avoid::ShapeConnectionPin(shape386142480, 2, 0.5, 1, true, 10, 2);
+ pin386142480_1->setExclusive(true);
+ Avoid::JunctionRef * junction328922310 = new Avoid::JunctionRef(router1, Avoid::Point(50700, 50800), 328922310);
+ junction328922310->setPositionFixed(true);
+ end1 = Avoid::ConnEnd(shape365249936, 3);
+ end2 = Avoid::ConnEnd(junction328922310);
+ /*Avoid::ConnRef * conn152169328 = */ new Avoid::ConnRef(router1, end1, end2);
+ end1 = Avoid::ConnEnd(junction328922310);
+ end2 = Avoid::ConnEnd(shape386142480, 2);
+ /*Avoid::ConnRef * conn684888074 = */ new Avoid::ConnRef(router1, end1, end2);
+ end1 = Avoid::ConnEnd(shape365249936, 5);
+ end2 = Avoid::ConnEnd(junction328922310);
+ Avoid::ConnRef * conn18168360 = new Avoid::ConnRef(router1, end1, end2);
+ router1->processTransaction();
+
+ router1->outputDiagram("output/2junctions-1");
+ poly = Avoid::Polygon(4);
+ poly.setPoint(0, Avoid::Point(50879, 50885));
+ poly.setPoint(1, Avoid::Point(50879, 50960));
+ poly.setPoint(2, Avoid::Point(50821, 50960));
+ poly.setPoint(3, Avoid::Point(50821, 50885));
+ Avoid::ShapeRef * shape150429385 = new Avoid::ShapeRef(router1, poly, 150429385);
+ Avoid::ShapeConnectionPin * pin150429385_0 = new Avoid::ShapeConnectionPin(shape150429385, 1, 0.5, 0, true, 10, 1);
+ pin150429385_0->setExclusive(true);
+ Avoid::JunctionRef * junction550292508 = new Avoid::JunctionRef(router1, Avoid::Point(50850, 50875), 550292508);
+ router1->deleteConnector(conn18168360);
+ conn18168360 = NULL;
+ end1 = Avoid::ConnEnd(shape365249936, 5);
+ end2 = Avoid::ConnEnd(junction550292508);
+ Avoid::ConnRef * conn795337150 = new Avoid::ConnRef(router1, end1, end2);
+ conn795337150->makePathInvalid();
+ end1 = Avoid::ConnEnd(junction550292508);
+ end2 = Avoid::ConnEnd(junction328922310);
+ Avoid::ConnRef * conn151961380 = new Avoid::ConnRef(router1, end1, end2);
+ conn151961380->makePathInvalid();
+ end1 = Avoid::ConnEnd(shape150429385, 1);
+ end2 = Avoid::ConnEnd(junction550292508);
+ Avoid::ConnRef * conn149180423 = new Avoid::ConnRef(router1, end1, end2);
+ conn149180423->makePathInvalid();
+ router1->processTransaction();
+
+ router1->outputDiagram("output/2junctions-2");
+ /*
+ junction550292508->setPositionFixed(true);
+ router1->deleteShape(shape365249936);
+ shape365249936 = NULL;
+ router1->deleteShape(shape386142480);
+ shape386142480 = NULL;
+ router1->deleteJunction(junction328922310);
+ junction328922310 = NULL;
+ router1->deleteConnector(conn152169328);
+ conn152169328 = NULL;
+ router1->deleteConnector(conn684888074);
+ conn684888074 = NULL;
+ router1->deleteShape(shape150429385);
+ shape150429385 = NULL;
+ router1->deleteJunction(junction550292508);
+ junction550292508 = NULL;
+ router1->deleteConnector(conn795337150);
+ conn795337150 = NULL;
+ router1->deleteConnector(conn151961380);
+ conn151961380 = NULL;
+ router1->deleteConnector(conn149180423);
+ conn149180423 = NULL;
+ router1->processTransaction();
+*/
+ bool atEnds = true;
+ bool overlap = router1->existsOrthogonalFixedSegmentOverlap(atEnds);
+ delete router1;
+ return (overlap) ? 1 : 0;
+}
+
+extern "C" int main(void)
+{
+ return test();
+}
|
