summaryrefslogtreecommitdiff
path: root/src/net/sourceforge/plantuml/graph/GeneralPathFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/sourceforge/plantuml/graph/GeneralPathFactory.java')
-rw-r--r--src/net/sourceforge/plantuml/graph/GeneralPathFactory.java158
1 files changed, 0 insertions, 158 deletions
diff --git a/src/net/sourceforge/plantuml/graph/GeneralPathFactory.java b/src/net/sourceforge/plantuml/graph/GeneralPathFactory.java
deleted file mode 100644
index 7fd54c2..0000000
--- a/src/net/sourceforge/plantuml/graph/GeneralPathFactory.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/* ========================================================================
- * PlantUML : a free UML diagram generator
- * ========================================================================
- *
- * (C) Copyright 2009-2017, Arnaud Roques
- *
- * Project Info: http://plantuml.com
- *
- * If you like this project or if you find it useful, you can support us at:
- *
- * http://plantuml.com/patreon (only 1$ per month!)
- * http://plantuml.com/paypal
- *
- * This file is part of PlantUML.
- *
- * PlantUML is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PlantUML distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
- * License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- * USA.
- *
- *
- * Original Author: Arnaud Roques
- *
- *
- */
-package net.sourceforge.plantuml.graph;
-
-import java.awt.Polygon;
-import java.awt.Shape;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.GeneralPath;
-import java.awt.geom.Point2D;
-
-import net.sourceforge.plantuml.cucadiagram.LinkType;
-import net.sourceforge.plantuml.geom.Box;
-import net.sourceforge.plantuml.geom.LineSegmentInt;
-import net.sourceforge.plantuml.geom.PolylineBreakeable;
-
-public class GeneralPathFactory {
-
- private final LinkType linkType;
-
- public GeneralPathFactory(LinkType linkType) {
- this.linkType = linkType;
- }
-
- public Shape getLink(PolylineBreakeable polyline, Box b1, Box b2) {
- final LineSegmentInt directSegment = new LineSegmentInt(b1.getCenterX(), b1.getCenterY(), b2.getCenterX(), b2
- .getCenterY());
- assert b1.intersect(directSegment).length == 1;
- assert b2.intersect(directSegment).length == 1;
-
- // final Point2D.Double start = polyline.clipStart(b1);
- // final Point2D.Double end = polyline.clipEnd(b2);
- final GeneralPath generalPath = polyline.asGeneralPath();
- // addSymbol(generalPath, start, polyline.getFirst(), end,
- // polyline.getLast());
- return generalPath;
-
- }
-
- private void addSymbol(GeneralPath generalPath, Point2D.Double firstPoint, LineSegmentInt firstSeg,
- Point2D.Double lastPoint, LineSegmentInt lastSeg) {
-// if (linkType.equals(LinkType.AGREGATION) || linkType.equals(LinkType.COMPOSITION)) {
-// addSymbolDiamond(generalPath, lastPoint, lastSeg);
-// } else if (linkType.equals(LinkType.AGREGATION_INV) || linkType.equals(LinkType.COMPOSITION_INV)) {
-// addSymbolDiamondInv(generalPath, firstPoint, firstSeg);
-// } else if (linkType.equals(LinkType.NAVASSOC) || linkType.equals(LinkType.NAVASSOC_DASHED)) {
-// addSymbolNavasoc(generalPath, lastPoint, lastSeg);
-// } else if (linkType.equals(LinkType.NAVASSOC_INV) || linkType.equals(LinkType.NAVASSOC_DASHED_INV)) {
-// addSymbolNavasocInv(generalPath, firstPoint, firstSeg);
-// } else if (linkType.equals(LinkType.EXTENDS_INV) || linkType.equals(LinkType.IMPLEMENTS_INV)) {
-// addSymbolExtends(generalPath, firstPoint, firstSeg);
-// } else if (linkType.equals(LinkType.EXTENDS) || linkType.equals(LinkType.IMPLEMENTS)) {
-// addSymbolExtendsInv(generalPath, lastPoint, lastSeg);
-// } else {
-// assert linkType.equals(LinkType.ASSOCIED) || linkType.equals(LinkType.ASSOCIED_DASHED);
-// }
- }
-
- private void addSymbolDiamond(GeneralPath generalPath, Point2D.Double point, LineSegmentInt seg) {
- final Polygon arrow = new Polygon();
- arrow.addPoint(0, 0);
- arrow.addPoint(-10, 6);
- arrow.addPoint(-20, 0);
- arrow.addPoint(-10, -6);
-
- appendAndRotate(generalPath, point, seg, arrow);
- }
-
- private void addSymbolDiamondInv(GeneralPath generalPath, Point2D.Double point, LineSegmentInt seg) {
- final Polygon arrow = new Polygon();
- arrow.addPoint(0, 0);
- arrow.addPoint(10, 6);
- arrow.addPoint(20, 0);
- arrow.addPoint(10, -6);
-
- appendAndRotate(generalPath, point, seg, arrow);
- }
-
- private void addSymbolNavasocInv(GeneralPath generalPath, Point2D.Double point, LineSegmentInt seg) {
- final Polygon arrow = new Polygon();
- arrow.addPoint(0, 0);
- arrow.addPoint(13, -8);
- arrow.addPoint(6, 0);
- arrow.addPoint(13, 8);
-
- appendAndRotate(generalPath, point, seg, arrow);
- }
-
- private void addSymbolNavasoc(GeneralPath generalPath, Point2D.Double point, LineSegmentInt seg) {
- final Polygon arrow = new Polygon();
- arrow.addPoint(0, 0);
- arrow.addPoint(-13, -8);
- arrow.addPoint(-6, 0);
- arrow.addPoint(-13, 8);
-
- appendAndRotate(generalPath, point, seg, arrow);
- }
-
- private void addSymbolExtends(GeneralPath generalPath, Point2D.Double point, LineSegmentInt seg) {
- final Polygon arrow = new Polygon();
- arrow.addPoint(0, 0);
- arrow.addPoint(25, 7);
- arrow.addPoint(25, -7);
-
- appendAndRotate(generalPath, point, seg, arrow);
- }
-
- private void addSymbolExtendsInv(GeneralPath generalPath, Point2D.Double point, LineSegmentInt seg) {
- final Polygon arrow = new Polygon();
- arrow.addPoint(0, 0);
- arrow.addPoint(-25, 7);
- arrow.addPoint(-25, -7);
-
- appendAndRotate(generalPath, point, seg, arrow);
- }
-
- private void appendAndRotate(GeneralPath generalPath, Point2D.Double point, LineSegmentInt seg, final Shape shape) {
- final AffineTransform at = AffineTransform.getTranslateInstance(point.x, point.y);
- final double theta = seg.getAngle();
- at.rotate(theta);
-
- final Shape r = at.createTransformedShape(shape);
- generalPath.append(r, false);
- }
-
-}