// Path: Force Engine/src/forceengine/objects/Circle.java
// public interface Circle extends Rect {
// 	/**
// 	 * (double) getRadius
// 	 * 
// 	 * @return the radius
// 	 */
// 	public double getRadius();
// 
// 	/**
// 	 * (double) getRadius
// 	 * 
// 	 * @return the radius squared (radius^2)
// 	 */
// 	public double getRadiusSq();
// 
// 
// 	/**
// 	 * Sets the radius of the circle.
// 	 * 
// 	 * @param radius
// 	 *            The new radius of this circle.
// 	 */
// 	public void setRadius(double radius);
// 
// }
// 
// Path: Force Engine/src/forceengine/objects/StaticLine.java
// public class StaticLine extends Point implements Line {
// 	private double x2, y2;
// 
// 	public StaticLine(double x1, double y1, double x2, double y2) {
// 		super(x1, y1);
// 		this.x2 = x2;
// 		this.y2 = y2;
// 	}
// 
// 	public Point getClosestPointOnLine(double x, double y) {
// 		return VectorMath.closestpointonline(this.getX1(), this.getY1(),
// 				this.getX2(), this.getY2(), x, y);
// 	}
// 
// 	public Point getClosestPointOnLine(Point p) {
// 		return VectorMath.closestpointonline(this, p);
// 	}
// 
// 	@Override
// 	public Rect getBounds() {
// 		return StaticRect.fromUpperLeft((int) Math.min(getX1(), getX2()), (int) Math.min(getY1(), getY2()), (int) Math.max(getX1(), getX2()),
// 				(int) Math.max(getY1(), getY2()));
// 	}
// 
// 	@Override
// 	public Point getP1() {
// 		return new Point(getX1(), getY1());
// 	}
// 
// 	@Override
// 	public Point getP2() {
// 		return new Point(getX2(), getY2());
// 	}
// 
// 	@Override
// 	public double getX1() {
// 		return x;
// 	}
// 
// 	@Override
// 	public double getX2() {
// 		return x2;
// 	}
// 
// 	@Override
// 	public double getY1() {
// 		return y;
// 	}
// 
// 	@Override
// 	public double getY2() {
// 		return y2;
// 	}
// 
// 	@Override
// 	public void setLine(double x1, double y1, double x2, double y2) {
// 		x = x1;
// 		y = y1;
// 		this.x2 = x2;
// 		this.y2 = y2;
// 	}
// }


import forceengine.objects.Circle;
import forceengine.objects.StaticLine;
package forceengine.math;


public class IntersectMath {
	/**
	 * checks whether or not a circle and a line have intersected
	 * 
	 * @param circle
	 *            the circle
	 * @param line
	 *            the line
	 * @return whether or not they have intersected
	 */
	public static final boolean checkcirclelinecollide(Circle circle,
			StaticLine line) {
		return checkcirclelinecollide(circle.getX(), circle.getY(),
				circle.getRadius(), line);
	}

	public static final boolean checkcirclelinecollide(double x, double y,
// Path: Force Engine/src/forceengine/objects/Circle.java
// public interface Circle extends Rect {
// 	/**
// 	 * (double) getRadius
// 	 * 
// 	 * @return the radius
// 	 */
// 	public double getRadius();
// 
// 	/**
// 	 * (double) getRadius
// 	 * 
// 	 * @return the radius squared (radius^2)
// 	 */
// 	public double getRadiusSq();
// 
// 
// 	/**
// 	 * Sets the radius of the circle.
// 	 * 
// 	 * @param radius
// 	 *            The new radius of this circle.
// 	 */
// 	public void setRadius(double radius);
// 
// }
// 
// Path: Force Engine/src/forceengine/objects/StaticLine.java
// public class StaticLine extends Point implements Line {
// 	private double x2, y2;
// 
// 	public StaticLine(double x1, double y1, double x2, double y2) {
// 		super(x1, y1);
// 		this.x2 = x2;
// 		this.y2 = y2;
// 	}
// 
// 	public Point getClosestPointOnLine(double x, double y) {
// 		return VectorMath.closestpointonline(this.getX1(), this.getY1(),
// 				this.getX2(), this.getY2(), x, y);
// 	}
// 
// 	public Point getClosestPointOnLine(Point p) {
// 		return VectorMath.closestpointonline(this, p);
// 	}
// 
// 	@Override
// 	public Rect getBounds() {
// 		return StaticRect.fromUpperLeft((int) Math.min(getX1(), getX2()), (int) Math.min(getY1(), getY2()), (int) Math.max(getX1(), getX2()),
// 				(int) Math.max(getY1(), getY2()));
// 	}
// 
// 	@Override
// 	public Point getP1() {
// 		return new Point(getX1(), getY1());
// 	}
// 
// 	@Override
// 	public Point getP2() {
// 		return new Point(getX2(), getY2());
// 	}
// 
// 	@Override
// 	public double getX1() {
// 		return x;
// 	}
// 
// 	@Override
// 	public double getX2() {
// 		return x2;
// 	}
// 
// 	@Override
// 	public double getY1() {
// 		return y;
// 	}
// 
// 	@Override
// 	public double getY2() {
// 		return y2;
// 	}
// 
// 	@Override
// 	public void setLine(double x1, double y1, double x2, double y2) {
// 		x = x1;
// 		y = y1;
// 		this.x2 = x2;
// 		this.y2 = y2;
// 	}
// }


// Path: Force Engine/src/forceengine/math/IntersectMath.java
import forceengine.objects.Circle;
import forceengine.objects.StaticLine;

package forceengine.math;


public class IntersectMath {
	/**
	 * checks whether or not a circle and a line have intersected
	 * 
	 * @param circle
	 *            the circle
	 * @param line
	 *            the line
	 * @return whether or not they have intersected
	 */
	public static final boolean checkcirclelinecollide(Circle circle,
			StaticLine line) {
		return checkcirclelinecollide(circle.getX(), circle.getY(),
				circle.getRadius(), line);
	}

	public static final boolean checkcirclelinecollide(double x, double y,
			double radius, StaticLine line) {