if (!addGoodPts(goodPts, llpt)) countBad++; if (!addGoodPts(goodPts, urpt)) countBad++; if (!addGoodPts(goodPts, lrpt)) countBad++; if (!addGoodPts(goodPts, ulpt)) countBad++; addGoodPts(goodPts, new ProjectionPointImpl(0, maxR)); addGoodPts(goodPts, new ProjectionPointImpl(maxR, 0)); addGoodPts(goodPts, new ProjectionPointImpl(0, -maxR)); addGoodPts(goodPts, new ProjectionPointImpl(-maxR, 0)); addGoodPts(goodPts, new ProjectionPointImpl(xcoord, getLimitCoord(xcoord))); addGoodPts(goodPts, new ProjectionPointImpl(getLimitCoord(ycoord), ycoord)); } else if (!ProjectionPointImpl.isInfinite(urpt)) { double xcoord = urpt.getX(); addGoodPts(goodPts, new ProjectionPointImpl(xcoord, -getLimitCoord(xcoord))); addGoodPts(goodPts, new ProjectionPointImpl(-getLimitCoord(ycoord), ycoord)); } else if (!ProjectionPointImpl.isInfinite(ulpt)) { double xcoord = ulpt.getX(); addGoodPts(goodPts, new ProjectionPointImpl(xcoord, -getLimitCoord(xcoord)));
if (!addGoodPts(goodPts, llpt)) countBad++; if (!addGoodPts(goodPts, urpt)) countBad++; if (!addGoodPts(goodPts, lrpt)) countBad++; if (!addGoodPts(goodPts, ulpt)) countBad++; addGoodPts( goodPts, new ProjectionPointImpl(0, maxR)); addGoodPts( goodPts, new ProjectionPointImpl(maxR, 0)); addGoodPts( goodPts, new ProjectionPointImpl(0, -maxR)); addGoodPts( goodPts, new ProjectionPointImpl(-maxR, 0)); addGoodPts( goodPts, new ProjectionPointImpl(xcoord, getLimitCoord( xcoord))); addGoodPts( goodPts, new ProjectionPointImpl(getLimitCoord( ycoord), ycoord)); addGoodPts( goodPts, new ProjectionPointImpl(xcoord, -getLimitCoord( xcoord))); addGoodPts( goodPts, new ProjectionPointImpl( -getLimitCoord( ycoord), ycoord)); addGoodPts( goodPts, new ProjectionPointImpl(xcoord, -getLimitCoord( xcoord))); addGoodPts( goodPts, new ProjectionPointImpl( getLimitCoord( ycoord), ycoord));