Refine search
/** * Compares two arcs and returns {@code true} if they are equal or * both {@code null}. * * @param a1 the first arc ({@code null} permitted). * @param a2 the second arc ({@code null} permitted). * * @return A boolean. */ public static boolean equal(Arc2D a1, Arc2D a2) { if (a1 == null) { return (a2 == null); } if (a2 == null) { return false; } if (!a1.getFrame().equals(a2.getFrame())) { return false; } if (a1.getAngleStart() != a2.getAngleStart()) { return false; } if (a1.getAngleExtent() != a2.getAngleExtent()) { return false; } if (a1.getArcType() != a2.getArcType()) { return false; } return true; }
private class MyMouseAdapter extends MouseAdapter { public void mousePressed(MouseEvent e) { Point click = e.getPoint(); //this next loop may seem hacky for (Arc2D c: arcs) { if (c.getX() == click.getX() && c.getY() == click.getY()) { System.out.println("The arc at (" + c.getX() + ", " + c.getY() + ") was clicked."); return; } } System.out.println("No arcs were clicked."); } }
private boolean intersects(Arc2D arc, Rectangle2D rect) { return (rect.intersectsLine(arc.getCenterX(), arc.getCenterY(), arc.getStartPoint().getX(), arc.getStartPoint().getY())) || arc.intersects(rect); }
final AffineTransform t = AffineTransform.getRotateInstance(Math.toRadians(angle), arc.getCenterX(), arc.getCenterY()); final Shape s = t.createTransformedShape(arc); path.append(s, true);
} else if (s instanceof Rectangle2D) { Rectangle2D r = (Rectangle2D) s; out.append(r.getX()).append(" ").append(r.getY()).append(" ") .append(r.getWidth()).append(" ").append(r.getHeight()) .append(" rect Z"); } else if (s instanceof Ellipse2D) { } else if (s instanceof Arc2D) { Arc2D e = (Arc2D) s; double x = (e.getX() + e.getWidth()/2.0); double y = (e.getY() + e.getHeight()/2.0); double rx = e.getWidth()/2.0; double ry = e.getHeight()/2.0; double startAngle = -e.getAngleStart(); double endAngle = -(e.getAngleStart() + e.getAngleExtent()); out.append(x).append(" ").append(y).append(" ") .append(rx).append(" ").append(ry).append(" ") .append(startAngle).append(" ").append(endAngle) .append(" ellipse"); if (e.getArcType() == Arc2D.CHORD) { out.append(" Z"); } else if (e.getArcType() == Arc2D.PIE) { out.append(" ").append(x).append(" ").append(y).append(" L Z");
double start = arc.getAngleStart(); double extent = arc.getAngleExtent(); double end = start + extent; arc.getEndPoint().getX(), plotArea.getY(), arc.getStartPoint().getX() - arc.getEndPoint().getX(), plotArea.getHeight())); side.intersect(front); g2.setPaint(paint); plotArea.getX(), plotArea.getY(), arc.getStartPoint().getX() - plotArea.getX(), arc.getEndPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getEndPoint().getX(), arc.getEndPoint().getX() - plotArea.getX(), arc.getStartPoint().getX() - plotArea.getX(), if (drawBack) { Area side = new Area(new Rectangle2D.Double( arc.getStartPoint().getX(), plotArea.getY(), arc.getEndPoint().getX() - arc.getStartPoint().getX(), arc.getStartPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getStartPoint().getX(),
dx = next[0] - currEndPoint.getX(); dy = next[1] - currEndPoint.getY(); break; case ExtendedPathIterator.SEG_ARCTO: { boolean goLeft = (next[4]!=0.); Arc2D arc = ExtendedGeneralPath.computeArc (currEndPoint.getX(), currEndPoint.getY(), next[0], next[1], next[2], large, goLeft, next[5], next[6]); double theta = arc.getAngleStart(); theta = Math.toRadians(theta); dx = -arc.getWidth()/2.0*Math.sin(theta); dy = arc.getHeight()/2.0*Math.cos(theta);
double ext = arc.getAngleExtent(); double width = arc.getWidth(); double height = arc.getHeight(); (arc.getX(), arc.getY(), arc.getX() + width, arc.getY() + height); if (svgLine == null) { svgLine = new SVGLine(generatorContext); (arc.getX(), arc.getY(), width, height); if (svgEllipse == null) { svgEllipse = new SVGEllipse(generatorContext); StringBuffer d = new StringBuffer( 64 ); Point2D startPt = arc.getStartPoint(); Point2D endPt = arc.getEndPoint(); int type = arc.getArcType(); d.append(PATH_CLOSE); } else if (type == Arc2D.PIE) { double cx = arc.getX() + width / 2; double cy = arc.getY() + height / 2; d.append(PATH_LINE_TO); d.append(SPACE);
Arc2D arc = new Arc2D.Double(); Line2D workingLine = new Line2D.Double(); for (double v = this.lowerBound; v <= this.upperBound; v += this.majorTickIncrement) { arc.setArc(arcRect, this.startAngle, valueToAngle(v) - this.startAngle, Arc2D.OPEN); Point2D pt0 = arc.getEndPoint(); arc.setArc(arcRectMajor, this.startAngle, valueToAngle(v) - this.startAngle, Arc2D.OPEN); Point2D pt1 = arc.getEndPoint(); g2.setPaint(this.majorTickPaint); g2.setStroke(this.majorTickStroke); workingLine.setLine(pt0, pt1); g2.draw(workingLine); arc.setArc(arcRectForLabels, this.startAngle, valueToAngle(v) - this.startAngle, Arc2D.OPEN); Point2D pt2 = arc.getEndPoint(); arc.setArc(arcRect, this.startAngle, angle - this.startAngle, Arc2D.OPEN); pt0 = arc.getEndPoint(); arc.setArc(arcRectMinor, this.startAngle, angle - this.startAngle, Arc2D.OPEN); Point2D pt3 = arc.getEndPoint(); g2.setStroke(this.minorTickStroke); g2.setPaint(this.minorTickPaint);
/** * Writes a serializable object description to the given object output stream. * * @param o the to be serialized object. * @param stream the outputstream that should receive the object. * @throws IOException if an I/O error occured. */ public void writeObject( final Object o, final ObjectOutputStream stream ) throws IOException { final Arc2D arc = (Arc2D) o; stream.writeDouble( arc.getX() ); stream.writeDouble( arc.getY() ); stream.writeDouble( arc.getWidth() ); stream.writeDouble( arc.getHeight() ); stream.writeDouble( arc.getAngleStart() ); stream.writeDouble( arc.getAngleExtent() ); stream.writeInt( arc.getArcType() ); }
clone = (shape instanceof Rectangle2D.Float) ? new Rectangle2D.Float() : new Rectangle2D.Double(); ((Rectangle2D) clone).setRect((Rectangle2D) shape); } else if (shape instanceof RoundRectangle2D) { clone = (shape instanceof RoundRectangle2D.Float) ? } else if (shape instanceof Arc2D) { clone = (shape instanceof Arc2D.Float) ? new Arc2D.Float() : new Arc2D.Double(); ((Arc2D) clone).setArc((Arc2D) shape); } else if (shape instanceof Polygon) { Polygon p = (Polygon) shape;
private Arc2D configureArc( final double x, final double y, final double w, final double h, final double angSt, final double angExt, final int closure ) { reusableArc.setArc( x, y, w, h, angSt, angExt, closure ); return reusableArc; }
shapePts[0] = ((Rectangle2D) shape).getX(); shapePts[1] = ((Rectangle2D) shape).getY(); shapePts[2] = ((Rectangle2D) shape).getWidth(); shapePts[3] = ((Rectangle2D) shape).getHeight(); shapePts[0] = ((Arc2D) shape).getX(); shapePts[1] = ((Arc2D) shape).getY(); shapePts[2] = ((Arc2D) shape).getWidth(); shapePts[3] = ((Arc2D) shape).getHeight(); shapePts[4] = ((Arc2D) shape).getAngleStart(); shapePts[5] = ((Arc2D) shape).getAngleExtent();
double start = arc.getAngleStart(); double extent = arc.getAngleExtent(); double end = start + extent; arc.getEndPoint().getX(), plotArea.getY(), arc.getStartPoint().getX() - arc.getEndPoint().getX(), plotArea.getHeight())); side.intersect(front); g2.setPaint(paint); plotArea.getX(), plotArea.getY(), arc.getStartPoint().getX() - plotArea.getX(), arc.getEndPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getEndPoint().getX(), arc.getEndPoint().getX() - plotArea.getX(), arc.getStartPoint().getX() - plotArea.getX(), if (drawBack) { Area side = new Area(new Rectangle2D.Double( arc.getStartPoint().getX(), plotArea.getY(), arc.getEndPoint().getX() - arc.getStartPoint().getX(), arc.getStartPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getStartPoint().getX(),
dx = next[0] - currEndPoint.getX(); dy = next[1] - currEndPoint.getY(); break; case ExtendedPathIterator.SEG_ARCTO: { boolean goLeft = (next[4]!=0.); Arc2D arc = ExtendedGeneralPath.computeArc (currEndPoint.getX(), currEndPoint.getY(), next[0], next[1], next[2], large, goLeft, next[5], next[6]); double theta = arc.getAngleStart(); theta = Math.toRadians(theta); dx = -arc.getWidth()/2.0*Math.sin(theta); dy = arc.getHeight()/2.0*Math.cos(theta);
double ext = arc.getAngleExtent(); double width = arc.getWidth(); double height = arc.getHeight(); (arc.getX(), arc.getY(), arc.getX() + width, arc.getY() + height); if (svgLine == null) { svgLine = new SVGLine(generatorContext); (arc.getX(), arc.getY(), width, height); if (svgEllipse == null) { svgEllipse = new SVGEllipse(generatorContext); StringBuffer d = new StringBuffer( 64 ); Point2D startPt = arc.getStartPoint(); Point2D endPt = arc.getEndPoint(); int type = arc.getArcType(); d.append(PATH_CLOSE); } else if (type == Arc2D.PIE) { double cx = arc.getX() + width / 2; double cy = arc.getY() + height / 2; d.append(PATH_LINE_TO); d.append(SPACE);
Arc2D arc = new Arc2D.Double(); Line2D workingLine = new Line2D.Double(); for (double v = this.lowerBound; v <= this.upperBound; v += this.majorTickIncrement) { arc.setArc(arcRect, this.startAngle, valueToAngle(v) - this.startAngle, Arc2D.OPEN); Point2D pt0 = arc.getEndPoint(); arc.setArc(arcRectMajor, this.startAngle, valueToAngle(v) - this.startAngle, Arc2D.OPEN); Point2D pt1 = arc.getEndPoint(); g2.setPaint(this.majorTickPaint); g2.setStroke(this.majorTickStroke); workingLine.setLine(pt0, pt1); g2.draw(workingLine); arc.setArc(arcRectForLabels, this.startAngle, valueToAngle(v) - this.startAngle, Arc2D.OPEN); Point2D pt2 = arc.getEndPoint(); arc.setArc(arcRect, this.startAngle, angle - this.startAngle, Arc2D.OPEN); pt0 = arc.getEndPoint(); arc.setArc(arcRectMinor, this.startAngle, angle - this.startAngle, Arc2D.OPEN); Point2D pt3 = arc.getEndPoint(); g2.setStroke(this.minorTickStroke); g2.setPaint(this.minorTickPaint);
double x = shp.getX() - r/2; double y = shp.getY() - r/2; double height = shp.getHeight() + r; double width = shp.getWidth() + r; Shape origin = new Arc2D.Double(x, y, width, height, shp.getAngleStart(), shp.getAngleExtent(), shp.getArcType()); Shape halo = at.createTransformedShape(origin); fillHalo(halo, atShp, g2, map, selected, mt, substract);
(Math.toRadians(angle), arc.getCenterX(), arc.getCenterY()); Shape s = t.createTransformedShape(arc); path.append(s, true);
final private void drawArc( final double x, final double y, final double width, final double heigth, final double start_angle, final double arc_angle, final Graphics2D g ) { _arc.setArc( x, y, width, heigth, _180_OVER_PI * start_angle, _180_OVER_PI * arc_angle, Arc2D.OPEN ); g.draw( _arc ); }