Optimized the countBlocks() method for polygonal regions

This commit is contained in:
DarkLiKally 2011-02-26 14:56:49 +01:00
parent 97aa259b2d
commit dbf65f798f

View File

@ -139,14 +139,14 @@ public String getTypeName() {
* @return
*/
public int countBlocks() {
if(points.size() < 3) {
int volume = 0;
int numPoints = points.size();
if(numPoints < 3) {
return 0;
}
double area = 0;
int volume = 0;
int xa, za, z1, z2;
int numPoints = points.size();
for (int i = 0; i <= numPoints - 1; i++) {
xa = points.get(i).getBlockX();
@ -171,7 +171,7 @@ public int countBlocks() {
area = area + (xa * (points.get(1).getBlockZ() - points.get(numPoints - 1).getBlockZ()));
volume = (Math.abs(maxY - minY) + 1) * (int)Math.ceil((Math.abs(area) / 2));;
volume = (Math.abs(maxY - minY) + 1) * (int)Math.ceil((Math.abs(area) / 2));
return volume;
}