From fa2d3dd7a487fd4d5d9844023cd319f8333af7ba Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Wed, 22 Jan 2014 22:57:16 +0100 Subject: [PATCH] add GeometryUtils.area() for arrays --- vtm/src/org/oscim/utils/GeometryUtils.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/vtm/src/org/oscim/utils/GeometryUtils.java b/vtm/src/org/oscim/utils/GeometryUtils.java index ddfdc670..f609ff2f 100644 --- a/vtm/src/org/oscim/utils/GeometryUtils.java +++ b/vtm/src/org/oscim/utils/GeometryUtils.java @@ -62,7 +62,18 @@ public final class GeometryUtils { } public static float area(float ax, float ay, float bx, float by, float cx, float cy) { - float area = ((ax - cx) * (by - cy) - (bx - cx) * (ay - cy)) * 0.5f; - return area < 0 ? -area : area; + + float area = ((ax - cx) * (by - cy) + - (bx - cx) * (ay - cy)); + + return (area < 0 ? -area : area) * 0.5f; + } + + public static float area(float[] a, int p1, int p2, int p3) { + + float area = ((a[p1] - a[p3]) * (a[p2 + 1] - a[p3 + 1]) + - (a[p2] - a[p3]) * (a[p1 + 1] - a[p3 + 1])); + + return (area < 0 ? -area : area) * 0.5f; } }