From 52539d7aaba96b7997a3c5a07e4a1ad234af7d04 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Sun, 4 Aug 2013 16:09:29 -0700 Subject: Committing everything since its long overdue. --- src/com/p4square/grow/backend/resources/Point.java | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/com/p4square/grow/backend/resources/Point.java (limited to 'src/com/p4square/grow/backend/resources/Point.java') diff --git a/src/com/p4square/grow/backend/resources/Point.java b/src/com/p4square/grow/backend/resources/Point.java new file mode 100644 index 0000000..e1b15a8 --- /dev/null +++ b/src/com/p4square/grow/backend/resources/Point.java @@ -0,0 +1,52 @@ +/* + * Copyright 2013 Jesse Morgan + */ + +package com.p4square.grow.backend.resources; + +/** + * Simple double based point class. + * + * @author Jesse Morgan + */ +class Point { + public static Point valueOf(String str) { + final int comma = str.indexOf(','); + if (comma == -1) { + throw new IllegalArgumentException("Malformed point string"); + } + + final String sX = str.substring(0, comma); + final String sY = str.substring(comma + 1); + + return new Point(Double.valueOf(sX), Double.valueOf(sY)); + } + + private final double mX; + private final double mY; + + public Point(double x, double y) { + mX = x; + mY = y; + } + + public double distance(Point other) { + final double dx = mX - other.mX; + final double dy = mY - other.mY; + + return Math.sqrt(dx*dx + dy*dy); + } + + public double getX() { + return mX; + } + + public double getY() { + return mY; + } + + @Override + public String toString() { + return String.format("%.2f,%.2f", mX, mY); + } +} -- cgit v1.2.3