From d2fe49fbd5f3378ce494e86ea291d9efbeae29e8 Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Mon, 16 Feb 2009 09:04:26 +0000 Subject: [PATCH] fix for rounding errors when drawing small angle arcs git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@9811 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- uk/ac/sanger/artemis/circular/Block.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/uk/ac/sanger/artemis/circular/Block.java b/uk/ac/sanger/artemis/circular/Block.java index 29feed41e..355e96695 100644 --- a/uk/ac/sanger/artemis/circular/Block.java +++ b/uk/ac/sanger/artemis/circular/Block.java @@ -32,6 +32,7 @@ import java.io.IOException; import java.util.Vector; import javax.swing.event.*; +import java.awt.geom.Arc2D; public class Block implements Transferable { @@ -522,9 +523,9 @@ public class Block implements Transferable // double arcLength = Math.toRadians(angEnd)*(bdiameter/2.); // if too small draw arc as a line - if(Math.abs(angEnd) < 0.5d) + if(Math.abs(angEnd) < 0.4d) { - newOrig = (AffineTransform) (origin.clone()); + newOrig = (AffineTransform) (origin.clone()); int xLine = d2-strokeInt2 ; newOrig.translate(locx+d2,locy+d2); @@ -547,9 +548,12 @@ public class Block implements Transferable BasicStroke.JOIN_MITER); g2.setStroke(basicstroke); - g2.drawArc(locx,locy, d, d, + /*g2.drawArc(locx,locy, d, d, Math.round(Math.round(angStart)), - Math.round(Math.round(angEnd))); + Math.round(Math.round(angEnd)));*/ + + g2.draw(new Arc2D.Double(locx,locy, d, d, angStart, angEnd, + Arc2D.OPEN)); } g2.setTransform(origin); -- GitLab