Point3f getMin() {
		if (min == null)
			min = new Point3f();
		if (list.isEmpty()) {
			min.set(0, 0, 0);
			return min;
		}
		Cuboid c = getCuboid(0);
		min.x = c.getMinX();
		min.y = c.getMinY();
		min.z = c.getMinZ();
		synchronized (list) {
			int n = count();
			if (n > 1) {
				for (int i = 1; i < n; i++) {
					c = getCuboid(i);
					if (min.x > c.getMinX()) {
						min.x = c.getMinX();
					}
					if (min.y > c.getMinY()) {
						min.y = c.getMinY();
					}
					if (min.z > c.getMinZ()) {
						min.z = c.getMinZ();
					}
				}
			}
		}
		return min;
	}