Add FlatRegion interface and an associated iterator

This commit is contained in:
aumgn
2012-03-13 11:55:47 +01:00
committed by TomyLobo
parent b2eb2741eb
commit a23e9b857f
5 changed files with 158 additions and 3 deletions

View File

@ -20,6 +20,7 @@
package com.sk89q.worldedit.regions;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import com.sk89q.worldedit.LocalWorld;
import com.sk89q.worldedit.Vector;
@ -31,7 +32,7 @@ import com.sk89q.worldedit.data.ChunkStore;
*
* @author yetanotherx
*/
public class CylinderRegion extends AbstractRegion {
public class CylinderRegion extends AbstractRegion implements FlatRegion {
private Vector center;
private Vector2D center2D;
private Vector2D radius;
@ -342,6 +343,16 @@ public class CylinderRegion extends AbstractRegion {
return false;
}
@Override
public Iterable<Vector2D> asFlatRegion() {
return new Iterable<Vector2D>() {
@Override
public Iterator<Vector2D> iterator() {
return new FlatRegionIterator(CylinderRegion.this);
}
};
}
/**
* Returns string representation in the format
* "(centerX, centerY, centerZ) - (radiusX, radiusZ)"