/** * Maps one Coordinate to another. * * @param c a Coordinate which must be inside one of the triangle keys passed into the constructor * @return the transformed Coordinate */ public Coordinate transform(Coordinate c) { monitor.report(++coordinatesTransformed, -1, "coordinates"); Triangle sourceTriangle = sourceTriangle(c); Assert.isTrue(sourceTriangle != null, "Unable to determine source triangle for " + c); Triangle destTriangle = destTriangle(sourceTriangle); return destTriangle.toEuclideanCoordinate(sourceTriangle.toSimplicialCoordinate(c)); }