@dominicstop/utils
Version:
Yet another event emitter written in typescript.
51 lines • 1.56 kB
TypeScript
import { BoxedHexagon, HexagonType } from "./BoxedHexagon";
import { Point } from "./Point";
import { Rect } from "./Rect";
export type HexagonGridConfig = {
centerHexagon: BoxedHexagon;
hexagonType: HexagonType;
maxRingCount: number;
};
export type HexagonAxialCoordinate = {
ringRowIndex: number;
ringColumnIndex: number;
};
export declare class HexagonGrid {
centerHexagon: BoxedHexagon;
hexagonType: HexagonType;
maxRingCount: number;
constructor(args: HexagonGridConfig);
convertAxialCoordinatesToCartesian(args: {
hexagonCoords: HexagonAxialCoordinate;
hexagonType: HexagonType;
}): Point;
static computeHexagonsForFlowerArrangment(args: {
circumRadius: number;
centerPoint: Point;
extraPositionOffset?: number;
startEdgeOffset?: number;
}): {
centerHexagon: BoxedHexagon;
outerHexagonRing: Array<BoxedHexagon>;
boundingBox: Rect;
};
static computeHexagonsForTriangleArrangement(args: {
circumRadius: number;
centerPoint: Point;
extraPositionOffset?: number;
startEdgeOffset?: number;
}): {
hexagons: Array<BoxedHexagon>;
boundingBox: Rect;
};
static computeHexagonsForTriangleAndFlowerArrangement(args: {
hexagonCount: number;
circumRadius: number;
centerPoint: Point;
extraPositionOffset?: number;
}): {
hexagons: Array<BoxedHexagon>;
boundingBox: Rect;
};
}
//# sourceMappingURL=HexagonGrid.d.ts.map