@rickosborne/hexgrid
Version:
Rick Osborne's collection of hexagonal grid-related code.
32 lines (31 loc) • 794 B
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
const RING_DIRECTIONS = Object.freeze([
{ q: 1, r: 0 },
{ q: 1, r: -1 },
{ q: 0, r: -1 },
{ q: -1, r: 0 },
{ q: -1, r: 1 },
{ q: 0, r: 1 }
]);
const qrsRing = /* @__PURE__ */ __name((center, radius, builder) => {
if (radius < 1) {
return [];
}
const points = [];
let q = -radius + center.q;
let r = radius + center.q;
for (let i = 0; i < 6; i++) {
const neighborDirection = RING_DIRECTIONS[i];
for (let j = 0; j < radius; j++) {
points.push(builder(q, r));
q += neighborDirection.q;
r += neighborDirection.r;
}
}
return points;
}, "qrsRing");
export {
qrsRing
};
//# sourceMappingURL=qrs-ring.mjs.map