Sha256: 5d8305ad1e4d1129c6b54be69fd485ed2c2702c1cffff29135a4164a496867aa

Contents?: true

Size: 790 Bytes

Versions: 6

Compression:

Stored size: 790 Bytes

Contents

package org.sunflow.core.bucket;

import org.sunflow.core.BucketOrder;

public class DiagonalBucketOrder implements BucketOrder {

    @Override
    public int[] getBucketSequence(int nbw, int nbh) {
        int[] coords = new int[2 * nbw * nbh];
        int x = 0, y = 0, nx = 1, ny = 0;
        for (int i = 0; i < nbw * nbh; i++) {
            coords[2 * i + 0] = x;
            coords[2 * i + 1] = y;
            do {
                if (y == ny) {
                    y = 0;
                    x = nx;
                    ny++;
                    nx++;
                } else {
                    x--;
                    y++;
                }
            } while ((y >= nbh || x >= nbw) && i != (nbw * nbh - 1));
        }
        return coords;
    }
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
joonsrenderer-1.3.1-java src/main/java/org/sunflow/core/bucket/DiagonalBucketOrder.java
joonsrenderer-1.2.0-java src/main/java/org/sunflow/core/bucket/DiagonalBucketOrder.java
joonsrenderer-1.1.3-java src/main/java/org/sunflow/core/bucket/DiagonalBucketOrder.java
joonsrenderer-1.1.2-java src/main/java/org/sunflow/core/bucket/DiagonalBucketOrder.java
joonsrenderer-1.1.1-java src/main/java/org/sunflow/core/bucket/DiagonalBucketOrder.java
joonsrenderer-1.1-java src/main/java/org/sunflow/core/bucket/DiagonalBucketOrder.java