package nl.tudelft.lifetiles.tree.view; /** * * @author Albert Smit * */ public class DegreeRange { /** * The starting angle in degrees. */ private final double startAngle; /** * The ending angle in degrees. */ private final double endAngle; /** * Constructor for degree range, creates a new immutable DegreeRange. * @param start the start of the range * @param end the end of the range */ public DegreeRange(final double start, final double end) { startAngle = start; endAngle = end; } /** * @return the starting angle. */ public double getStartAngle() { return startAngle; } /** * @return the ending angle. */ public double getEndAngle() { return endAngle; } /** * Calculates the angle between the start and end, is calculated clockwise. * @return the size of the angle covered by this range */ public double angle() { double result = 0; if (startAngle > endAngle) { result = AbstractSunburstNode.CIRCLEDEGREES - (startAngle - endAngle); } else if (endAngle > startAngle) { result = endAngle - startAngle; } return result; } }