/** * Creates an empty BezierFigure, for example without any * <code>BezierPath.Node</code>s. * The BezierFigure will not draw anything, unless at least two nodes * are added to it. * * @param isClosed Specifies whether the <code>BezierPath</code> shall * be closed. */ public BezierFigure(boolean isClosed) { path = new BezierPath(); set(PATH_CLOSED, isClosed); //path.setClosed(isClosed); }
public static BezierPath toBezierPath(final PathIterator iterator) { final BezierPath path = new BezierPath(); final double[] segment = new double[6]; for (; !iterator.isDone(); iterator.next()) { final int type = iterator.currentSegment(segment); switch (type) { case PathIterator.SEG_MOVETO: path.moveTo(segment[0], segment[1]); break; case PathIterator.SEG_LINETO: path.lineTo(segment[0], segment[1]); break; case PathIterator.SEG_QUADTO: path.quadTo(segment[0], segment[1], segment[2], segment[3]); break; case PathIterator.SEG_CUBICTO: path.curveTo(segment[0], segment[1], segment[2], segment[3], segment[4], segment[5]); break; case PathIterator.SEG_CLOSE: path.setClosed(true); break; } } return path; }
public static void main(final String[] args) { BezierPath path1 = new BezierPath(); path1.moveTo(0, 0); path1.lineTo(100, 0); path1.lineTo(100, 100); path1.lineTo(0, 0); final GeneralPath path2 = new GeneralPath(); path2.moveTo(0, 0); path2.lineTo(100, 0); path2.lineTo(100, 100); path2.closePath(); // path1 = toBezierPath(path2.getPathIterator(new AffineTransform())); final BezierPath path3 = new BezierPath(); path3.moveTo(0, 100); path3.lineTo(100, 0); path3.lineTo(100, 100); path3.lineTo(0, 100); path1 = subtract(path1, path3); show(path1.toGeneralPath()); }
case PathIterator.SEG_MOVETO: if (bezierPath != null) add(bezierPath, false); bezierPath = new BezierPath(); bezierPath.moveTo(segment[0], segment[1]); break;
case PathIterator.SEG_MOVETO: if (bezierPath != null) add(bezierPath, false); bezierPath = new BezierPath(); bezierPath.moveTo(segment[0], segment[1]); break;
BezierPath fittedPath = new BezierPath();
/** Creates new form BezierDemo */ public BezierDemo() { initComponents(); canvas = new Canvas(); canvas.setOpaque(true); canvas.setBackground(Color.WHITE); canvas.addMouseListener(handler); canvas.addMouseMotionListener(handler); add(canvas, BorderLayout.CENTER); Point2D.Double[] d = { // Digitized points }; BezierPath digi = new BezierPath(); digi.addPolyline(Arrays.asList(d)); Example ex = new Example(); examples.add(ex); ex.digitized = digi; ex.error = 2d; }
createdFigure.willChange(); BezierPath figurePath = createdFigure.getBezierPath(); BezierPath digitizedPath = new BezierPath(); for (int i = nodeCountBeforeDrag - 1, n = figurePath.size(); i < n; i++) { digitizedPath.add(figurePath.get(nodeCountBeforeDrag - 1));
@Override public Shape createStrokedShape(Shape s) { BezierPath bp = new BezierPath(); Path2D.Double left = new Path2D.Double(); Path2D.Double right = new Path2D.Double();
paths.add(path); path = new BezierPath(); paths.add(path); path = new BezierPath();
paths.add(path); path = new BezierPath(); paths.add(path); path = new BezierPath();
@Override public Shape createStrokedShape(Shape s) { BezierPath bp = new BezierPath(); Path2D.Double left = new Path2D.Double(); Path2D.Double right = new Path2D.Double();
BezierPath tempPath = new BezierPath(); Node t1, t2; tempPath.add(t1 = new Node());
public BezierPath getBezierPath() { Rectangle2D.Double r = (Rectangle2D.Double) rectangle.clone(); BezierPath triangle = new BezierPath(); switch (get(ORIENTATION)) { case NORTH :
double relativeLen = 0d; Node v1, v2; BezierPath tempPath = new BezierPath(); Node t1, t2; tempPath.add(t1 = new Node());