Mercurial > dive4elements > river
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 :