@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
26 lines (25 loc) • 1.26 kB
TypeScript
import { TileConfig } from './WFCTileConfig';
import { NeighbourData } from '../geometry/modules/quad/graph/QuadGraph';
import { QuadNode } from '../geometry/modules/quad/graph/QuadNode';
import { NeighbourIndex } from '../geometry/modules/quad/graph/QuadGraphCommon';
import { QuadObject } from '../geometry/modules/quad/QuadObject';
export declare class WFCFloorGraph {
readonly quadObject: QuadObject;
readonly floorIndex: number;
private _quadGraph;
private _quadNodeByQuadId;
private _allowedTileConfigsByQuadId;
constructor(quadObject: QuadObject, floorIndex: number);
setupQuadNode(index: number, allTileConfigs: TileConfig[]): {
quadNode: QuadNode;
quadTileConfigs: TileConfig[];
};
resetQuadNode(quadNode: QuadNode, allTileConfigs: TileConfig[]): {
quadTileConfigs: TileConfig[];
};
quadNodeFromId(quadId: number): QuadNode | undefined;
quadNodeFromOtherQuadNode(otherGraphQuadNode: QuadNode): QuadNode | undefined;
allowedTileConfigsForQuadNode(quadNode: QuadNode): TileConfig[] | undefined;
setAllowedTileConfigsForQuadNode(quadNode: QuadNode, tileConfigs: TileConfig[]): void;
neighbourData(quadId: number, sideIndex: NeighbourIndex, target: NeighbourData): void;
}