public void calculateDiagonals() {
		super.modelHeight = 0;
		diagonal2DAboveOrigin = 0;
		maxY = 0;
		for (int vertex = 0; vertex < vertexCount; vertex++) {
			int x = verticesX[vertex];
			int y = verticesY[vertex];
			int z = verticesZ[vertex];
			if (-y > super.modelHeight)
				super.modelHeight = -y;
			if (y > maxY)
				maxY = y;
			int bounds = x * x + z * z;
			if (bounds > diagonal2DAboveOrigin)
				diagonal2DAboveOrigin = bounds;
		}
		diagonal2DAboveOrigin = (int) (Math.sqrt(diagonal2DAboveOrigin) + 0.98999999999999999D);
		diagonal3DAboveOrigin = (int) (Math
				.sqrt(diagonal2DAboveOrigin * diagonal2DAboveOrigin
						+ super.modelHeight * super.modelHeight) + 0.98999999999999999D);
		diagonal3D = diagonal3DAboveOrigin
				+ (int) (Math.sqrt(diagonal2DAboveOrigin
						* diagonal2DAboveOrigin + maxY * maxY) + 0.98999999999999999D);
	}