public BoundingBox(Point2DArray points) { this(); add(points); }
public BoundingBox(final Point2DArray points) { this(); add(points); }
public BoundingBox(final BoundingBox bbox) { this(); add(bbox); }
public BoundingBox(final Point2DArray points) { this(); add(points); }
public BoundingBox(final BoundingBox bbox) { this(); add(bbox); }
public BoundingBox(final Point2D point, final Point2D... points) { this(); add(point, points); }
public BoundingBox(final Point2DArray points) { this(); add(points); }
public BoundingBox(BoundingBox bbox) { this(); add(bbox); }
public BoundingBox(Point2D point, Point2D... points) { this(); add(point, points); }
private void addConnector(final WiresConnector connector, final boolean externallyCoupled, final BoundingBox box, final BoundingBox nodeBox) { m_selected.add(connector); if (!externallyCoupled) { box.add(nodeBox); } else { m_selected.addExternallyConnected(connector); } }
private static void addBezierPolynomial(final double[] xval, final double[] yval, final double[] roots, final BoundingBox box) { for (final double root : roots) { if (root >= 0) { final double x = cubicBezierPoint(xval, root); final double y = cubicBezierPoint(yval, root); box.add(x, y); } } }
private static void addBezierPolynomial(final double[] xval, final double[] yval, final double[] roots, final BoundingBox box) { for (final double root : roots) { if (root >= 0) { final double x = cubicBezierPoint(xval, root); final double y = cubicBezierPoint(yval, root); box.add(x, y); } } }
private void addConnector(final WiresConnector connector, final boolean externallyCoupled, final BoundingBox box, final BoundingBox nodeBox) { m_selected.add(connector); if (!externallyCoupled) { box.add(nodeBox); } else { m_selected.addExternallyConnected(connector); } }
private void addConnector(final WiresConnector connector, final boolean externallyCoupled, final BoundingBox box, final BoundingBox nodeBox) { m_selected.add(connector); if (!externallyCoupled) { box.add(nodeBox); } else { m_selected.addExternallyConnected(connector); } }
private static void addBezierPolynomial(final double[] xval, final double[] yval, final double[] roots, final BoundingBox box) { for (final double root : roots) { if (root >= 0) { final double x = cubicBezierPoint(xval, root); final double y = cubicBezierPoint(yval, root); box.add(x, y); } } }
public static BoundingBox getBoundingBoxOfCubicCurve(final double computedLocationOffsetX, final double computedLocationOffsetY, final double[] xval, final double[] yval) { // https://stackoverflow.com/questions/2587751/an-algorithm-to-find-bounding-box-of-closed-bezier-curves/14429749#14429749 final double[] xroots = quadraticDerivitiveRoots(xval); final double[] yroots = quadraticDerivitiveRoots(yval); final BoundingBox box = new BoundingBox(); box.add(xval[0], yval[0]); box.add(xval[3], yval[3]); addBezierPolynomial(xval, yval, xroots, box); addBezierPolynomial(xval, yval, yroots, box); return box; }
public static BoundingBox getBoundingBoxOfCubicCurve(final double computedLocationOffsetX, final double computedLocationOffsetY, final double[] xval, final double[] yval) { // https://stackoverflow.com/questions/2587751/an-algorithm-to-find-bounding-box-of-closed-bezier-curves/14429749#14429749 final double[] xroots = quadraticDerivitiveRoots(xval); final double[] yroots = quadraticDerivitiveRoots(yval); final BoundingBox box = new BoundingBox(); box.add(xval[0], yval[0]); box.add(xval[3], yval[3]); addBezierPolynomial(xval, yval, xroots, box); addBezierPolynomial(xval, yval, yroots, box); return box; }
public static BoundingBox getBoundingBoxOfArcTo(final Point2D p0, final Point2D p1, final Point2D p2, final double r) { final Point2DArray arcPoints = getCanvasArcToPoints(p0, p1, p2, r); final BoundingBox box = getBoundingBoxOfArc(arcPoints.get(0), arcPoints.get(1), arcPoints.get(2), r); if (!arcPoints.get(0).equals(p0)) { box.add(p0);//p0 is always the start point of the path, but not necessary of the arc - depending on the radius } return box; }
public static BoundingBox getBoundingBoxOfArcTo(final Point2D p0, final Point2D p1, final Point2D p2, final double r) { final Point2DArray arcPoints = getCanvasArcToPoints(p0, p1, p2, r); final BoundingBox box = getBoundingBoxOfArc(arcPoints.get(0), arcPoints.get(1), arcPoints.get(2), r); if (!arcPoints.get(0).equals(p0)) { box.add(p0);//p0 is always the start point of the path, but not necessary of the arc - depending on the radius } return box; }
public static BoundingBox getBoundingBoxOfArcTo(final Point2D p0, final Point2D p1, final Point2D p2, final double r) { final Point2DArray arcPoints = getCanvasArcToPoints(p0, p1, p2, r); final BoundingBox box = getBoundingBoxOfArc(arcPoints.get(0), arcPoints.get(1), arcPoints.get(2), r); if (!arcPoints.get(0).equals(p0)) { box.add(p0);//p0 is always the start point of the path, but not necessary of the arc - depending on the radius } return box; }