private double length(CubicCurve2D curve) { return curve.getP1().distance(curve.getP2()); }
public void curveTo(CubicCurve2D curve) { final double flatness = curve.getFlatness(); final double dist = curve.getP1().distance(curve.getP2()); if (flatness > 0.1 && dist > 20) { final CubicCurve2D left = new CubicCurve2D.Double(); final CubicCurve2D right = new CubicCurve2D.Double(); curve.subdivide(left, right); curveTo(left); curveTo(right); return; } lineTo(curve.getP2()); }
public void setRepresentedCubic(CubicCurve2D c) { if(null!=c) { this.p0.setLocation(c.getP1()); this.p1.setLocation(c.getP2()); this.c0.setLocation(c.getCtrlP1()); this.c1.setLocation(c.getCtrlP2()); this.dragGesture(); } }
private double length(CubicCurve2D curve) { return curve.getP1().distance(curve.getP2()); }
public void curveTo(CubicCurve2D curve) { final double flatness = curve.getFlatness(); final double dist = curve.getP1().distance(curve.getP2()); if (flatness > 0.1 && dist > 20) { final CubicCurve2D left = new CubicCurve2D.Double(); final CubicCurve2D right = new CubicCurve2D.Double(); curve.subdivide(left, right); curveTo(left); curveTo(right); return; } lineTo(curve.getP2()); }
@Override public Point2D getEndVector (boolean reverse) { // We use the control points to retrieve tangent vector Point2D vector = reverse ? PointUtil.subtraction(curve.getP1(), curve.getCtrlP1()) : PointUtil.subtraction(curve.getP2(), curve.getCtrlP2()); // Normalize vector = PointUtil.times(vector, 1.0 / PointUtil.length(vector)); return vector; }
final Point2D end = (side == LEFT) ? curve.getP1() : curve.getP2(); pmSlur.setDefaultX(toTenths(end.getX() - current.note.getCenterLeft().x)); pmSlur.setDefaultY(yOf(end, staff));
@Override public boolean check (SlurInter slur) { if ((slur.getHead(RIGHT) == null) && (slur.getExtension(RIGHT) == null)) { // Check we are in last measure Point2D end = slur.getCurve().getP2(); SystemInfo system = slur.getSig().getSystem(); MeasureStack stack = system.getStackAt(end); if (stack == system.getLastStack()) { // Check slur ends in last measure half Staff staff = system.getClosestStaff(end); Measure measure = stack.getMeasureAt(staff); int middle = measure.getAbscissa(LEFT, staff) + (measure.getWidth() / 2); if (end.getX() > middle) { return true; } } } return false; } };
double prevPp = prevStaff.pitchPositionOf(PointUtil.rounded(prevSlur.getCurve().getP2()));
assertEquals("CtrlP1", new Point2D.Double(6, 7), ((CubicCurve2D) p).getCtrlP1()); assertEquals("CtrlP2", new Point2D.Double(8, 6), ((CubicCurve2D) p).getCtrlP2()); assertEquals("P2", new Point2D.Double(9, 4), ((CubicCurve2D) p).getP2());
assertEquals(((CubicCurve2D) expected).getCtrlP1(), ((CubicCurve2D) actual).getCtrlP1()); assertEquals(((CubicCurve2D) expected).getCtrlP2(), ((CubicCurve2D) actual).getCtrlP2()); assertEquals(((CubicCurve2D) expected).getP2(), ((CubicCurve2D) actual).getP2()); } else if ((expected instanceof Path2D) && (actual instanceof Path2D)) { PathIterator itExpected = expected.getPathIterator(null);