public Polygonal2DRegionSelector(RegionSelector oldSelector, int maxPoints) { this(oldSelector.getIncompleteRegion().getWorld(), maxPoints); if (oldSelector instanceof Polygonal2DRegionSelector) { final Polygonal2DRegionSelector polygonal2DRegionSelector = (Polygonal2DRegionSelector) oldSelector; pos1 = polygonal2DRegionSelector.pos1; region = new Polygonal2DRegion(polygonal2DRegionSelector.region); } else { final Region oldRegion; try { oldRegion = oldSelector.getRegion(); } catch (IncompleteRegionException e) { return; } final int minY = oldRegion.getMinimumPoint().getBlockY(); final int maxY = oldRegion.getMaximumPoint().getBlockY(); List<BlockVector2D> points = oldRegion.polygonize(maxPoints); pos1 = points.get(0).toVector(minY).toBlockVector(); region = new Polygonal2DRegion(oldRegion.getWorld(), points, minY, maxY); } }
public BorderIterator(Region region, int xMin, int yMin, int zMin, int xMax, int yMax, int zMax) { this.region = region; this.loc = new Location(region.getWorld(), xMin, yMin, zMin); this.x1 = (this.x3 = xMin) - 1; this.y1 = this.y3 = yMin; this.z1 = this.z3 = zMin; this.x2 = xMax; this.y2 = yMax; this.z2 = zMax; }