edu.uci.ics.jung.visualization.util.GeneralPathAsString Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jung-visualization Show documentation
Show all versions of jung-visualization Show documentation
Core visualization support for the JUNG project
The newest version!
package edu.uci.ics.jung.visualization.util;
import java.awt.geom.GeneralPath;
import java.awt.geom.PathIterator;
import java.awt.geom.Point2D;
public class GeneralPathAsString {
public static String toString(GeneralPath newPath) {
StringBuilder sb = new StringBuilder();
float[] coords = new float[6];
for(PathIterator iterator=newPath.getPathIterator(null);
iterator.isDone() == false;
iterator.next()) {
int type = iterator.currentSegment(coords);
switch(type) {
case PathIterator.SEG_MOVETO:
Point2D p = new Point2D.Float(coords[0], coords[1]);
sb.append("moveTo "+p+"--");
break;
case PathIterator.SEG_LINETO:
p = new Point2D.Float(coords[0], coords[1]);
sb.append("lineTo "+p+"--");
break;
case PathIterator.SEG_QUADTO:
p = new Point2D.Float(coords[0], coords[1]);
Point2D q = new Point2D.Float(coords[2], coords[3]);
sb.append("quadTo "+p+" controlled by "+q);
break;
case PathIterator.SEG_CUBICTO:
p = new Point2D.Float(coords[0], coords[1]);
q = new Point2D.Float(coords[2], coords[3]);
Point2D r = new Point2D.Float(coords[4], coords[5]);
sb.append("cubeTo "+p+" controlled by "+q+","+r);
break;
case PathIterator.SEG_CLOSE:
newPath.closePath();
sb.append("close");
break;
}
}
return sb.toString();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy