/* * Copyright 2011 by Mark Coletti, Keith Sullivan, Sean Luke, and * George Mason University Mason University Licensed under the Academic * Free License version 3.0 * * See the file "LICENSE" for more information * * $Id$ */ package sim.util.geo; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; import com.vividsolutions.jts.geom.CoordinateSequenceFilter; /** * A helper class to move a point to a new Coordinate. JTS geometries require a CoordinateSequenceFilter to * apply a transform. * */ public class PointMoveTo implements CoordinateSequenceFilter, java.io.Serializable { private static final long serialVersionUID = -2029180922944093196L; Coordinate newValue = null; boolean isDone = false; boolean geometryChanged = false; public PointMoveTo() { super(); } public PointMoveTo(Coordinate c) { super(); newValue = c; } public void setCoordinate(Coordinate newValue) { this.newValue = newValue; } public void filter(CoordinateSequence coords, int pos) { coords.setOrdinate(pos, 0, newValue.x); coords.setOrdinate(pos, 1, newValue.y); isDone = true; geometryChanged = true; } public boolean isDone() { return isDone; } public boolean isGeometryChanged() { return geometryChanged; } }