diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/geom/Lines.java @ 1651:a7def20539fb

flys/issue317: Removed dependency from cross section demo app. flys-artifacts/trunk@2840 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 27 Sep 2011 13:45:13 +0000
parents bd3683453928
children a6fa128e4654
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/geom/Lines.java	Tue Sep 27 12:40:42 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/geom/Lines.java	Tue Sep 27 13:45:13 2011 +0000
@@ -1,7 +1,8 @@
 package de.intevation.flys.geom;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.ArrayList;
+import java.util.Iterator;
 
 import java.awt.geom.Point2D;
 import java.awt.geom.Line2D;
@@ -10,6 +11,8 @@
 
 import org.apache.log4j.Logger;
 
+import gnu.trove.TDoubleArrayList;
+
 public class Lines
 {
     private static Logger log = Logger.getLogger(Lines.class);
@@ -247,5 +250,31 @@
 
         return result;
     }
+
+    public static double [][] createWaterLines(
+        List<Point2D> points,
+        double        waterlevel
+    ) {
+        List<Line2D> lines = fillWater(points, waterlevel);
+
+        TDoubleArrayList lxs = new TDoubleArrayList();
+        TDoubleArrayList lys = new TDoubleArrayList();
+
+        for (Iterator<Line2D> iter = lines.iterator(); iter.hasNext();) {
+            Line2D  l  = iter.next();
+            Point2D p1 = l.getP1();
+            Point2D p2 = l.getP2();
+            lxs.add(p1.getX());
+            lys.add(p1.getY());
+            lxs.add(p2.getX());
+            lys.add(p2.getY());
+            if (iter.hasNext()) {
+                lxs.add(Double.NaN);
+                lys.add(Double.NaN);
+            }
+        }
+
+        return new double [][] { lxs.toNativeArray(), lys.toNativeArray() };
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org