/* * Copyright (c) 2016 Vivid Solutions. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * * http://www.eclipse.org/org/documents/edl-v10.php. */ package org.locationtech.jts.util; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.CoordinateFilter; import org.locationtech.jts.geom.Geometry; /** * A {@link CoordinateFilter} that creates an array containing every * coordinate in a {@link Geometry}. * *@version 1.7 */ public class CoordinateArrayFilter implements CoordinateFilter { Coordinate[] pts = null; int n = 0; /** * Constructs a <code>CoordinateArrayFilter</code>. * *@param size the number of points that the <code>CoordinateArrayFilter</code> * will collect */ public CoordinateArrayFilter(int size) { pts = new Coordinate[size]; } /** * Returns the gathered <code>Coordinate</code>s. * *@return the <code>Coordinate</code>s collected by this <code>CoordinateArrayFilter</code> */ public Coordinate[] getCoordinates() { return pts; } public void filter(Coordinate coord) { pts[n++] = coord; } }