public Coordinate getPoint(final double angle) { double x = Math.cos(angle) * this.radius; x = x + this.center.x; x = this.precisionModel.makePrecise(x); double y = Math.sin(angle) * this.radius; y = y + this.center.y; y = this.precisionModel.makePrecise(y); return new Coordinate(x, y); }
@Override public double normDist(double d) { return geometryFactory.getPrecisionModel().makePrecise(d); }
@Override public double normX(double x) { x = super.normX(x); return geometryFactory.getPrecisionModel().makePrecise(x); }
@Override public double normZ(double z) { z = super.normZ(z); return geometryFactory.getPrecisionModel().makePrecise(z); }
@Override public double normY(double y) { y = super.normY(y); return geometryFactory.getPrecisionModel().makePrecise(y); }
/** * Reads a coordinate value with the specified dimensionality. Makes the X and Y ordinates * precise according to the precision model in use. */ private void readCoordinate() throws IOException { for (int i = 0; i < inputDimension; i++) { if (i <= 1) { ordValues[i] = precisionModel.makePrecise(dis.readDouble()); } else { ordValues[i] = dis.readDouble(); } } } }
/** * Reads a coordinate value with the specified dimensionality. Makes the X and Y ordinates * precise according to the precision model in use. */ private void readCoordinate() throws IOException { for (int i = 0; i < inputDimension; i++) { if (i <= 1) { ordValues[i] = precisionModel.makePrecise(dis.readDouble()); } else { ordValues[i] = dis.readDouble(); } } }
private Coordinate getPreciseCoordinate(boolean measures) throws IOException, ParseException { Coordinate coord = measures ? new CoordinateXYZM() : new Coordinate(); for (int i = 0; isNumberNext(); i++) { coord.setOrdinate(i, getNextNumber()); } precisionModel.makePrecise(coord); return coord; }
/** * Rounds a Coordinate to the PrecisionModel grid. */ public void makePrecise(Coordinate coord) { // optimization for full precision if (modelType == FLOATING) return; coord.x = makePrecise(coord.x); coord.y = makePrecise(coord.y); //MD says it's OK that we're not makePrecise'ing the z [Jon Aquino] }
protected Coordinate coord(double x, double y) { Coordinate pt = new Coordinate(x, y); precModel.makePrecise(pt); return pt; }
public void addPt(Coordinate pt) { Coordinate bufPt = new Coordinate(pt); precisionModel.makePrecise(bufPt); // don't add duplicate (or near-duplicate) points if (isRedundant(bufPt)) return; ptList.add(bufPt); //System.out.println(bufPt); }
protected Coordinate createCoord(double x, double y) { Coordinate pt = new Coordinate(x, y); geomFactory.getPrecisionModel().makePrecise(pt); return pt; }
protected Coordinate toModelSnappedToViewGrid(Point2D p) { // snap to view grid Coordinate pModel = getViewport().toModelCoordinate(p); gridPM.makePrecise(pModel); return pModel; }
protected Coordinate createCoord(double x, double y) { Coordinate pt = new Coordinate(x, y); geomFactory.getPrecisionModel().makePrecise(pt); return pt; }
private Point createPointFromInternalCoord(Coordinate coord, Geometry exemplar) { exemplar.getPrecisionModel().makePrecise(coord); return exemplar.getFactory().createPoint(coord); }
public static Point createPointFromInternalCoord(Coordinate coord, Geometry exemplar) { exemplar.getPrecisionModel().makePrecise(coord); return exemplar.getFactory().createPoint(coord); }
protected Coordinate toModelSnappedIfCloseToViewGrid(Point2D p) { // snap to view grid if close to view grid point Coordinate pModel = getViewport().toModelCoordinate(p); Coordinate pSnappedModel = new Coordinate(pModel); gridPM.makePrecise(pSnappedModel); double tol = getModelSnapTolerance(); if (pModel.distance(pSnappedModel) <= tol) return pSnappedModel; return pModel; }
private Coordinate computePoint(LineSegment seg, double dist) { double dx = seg.p1.x - seg.p0.x; double dy = seg.p1.y - seg.p0.y; double len = seg.getLength(); Coordinate pt = new Coordinate(dist * dx / len, dist * dy / len); pm.makePrecise(pt); return pt; }
private void preciseCoordinateTester(PrecisionModel pm, double x1, double y1, double x2, double y2) { Coordinate p = new Coordinate(x1, y1); pm.makePrecise(p); Coordinate pPrecise = new Coordinate(x2, y2); assertTrue(p.equals2D(pPrecise)); }
private void checkLine45(int width, int nPts, double precision) { Coordinate p1 = new Coordinate(0, width); Coordinate p2 = new Coordinate(width, 0); for (int i = 0; i <= nPts; i++) { double d = width / (double) nPts; Coordinate q = new Coordinate(0.0 + i * d, width - i * d); PrecisionModel pm = new PrecisionModel(precision); pm.makePrecise(q); checkPointOnSeg(p1, p2, q); } }