gojs
Version:
Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams
53 lines (52 loc) • 3.12 kB
TypeScript
import * as go from '../../../release/go';
export declare class Floorplan extends go.Diagram {
private _palettes;
private _pointNodes;
private _dimensionLinks;
private _angleNodes;
constructor(div: HTMLDivElement | string);
palettes: Array<go.Palette>;
pointNodes: go.Set<go.Node>;
dimensionLinks: go.Set<go.Link>;
angleNodes: go.Set<go.Node>;
convertPixelsToUnits(num: number): number;
convertUnitsToPixels(num: number): number;
protected getUnitsAbbreviation(units: string): string;
convertUnits(oldUnits: string, newUnits: string, num: number): number;
makeDefaultFurniturePaletteNodeData(): Array<any>;
makeDefaultWallpartsPaletteNodeData(): Array<any>;
enableWallBuilding(): void;
enableDividerBuilding(): void;
disableWallBuilding(): void;
checkboxChanged(checkboxId: string): void;
changeUnits(form: HTMLFormElement): void;
changeUnitsConversionFactor(unitsConversionFactorInput: HTMLInputElement, gridSizeInput?: HTMLInputElement): void;
changeGridSize(gridSizeInput: HTMLInputElement): void;
private getCounterClockwiseWallSide;
getLinesIntersection(a1: go.Point, a2: go.Point, b1: go.Point, b2: go.Point): go.Point | null;
updateAllRoomBoundaries(changedWalls: go.Set<go.Group>): void;
maybeAddRoomNode(pt: go.Point, floorImage: string, roomToUpdate?: go.Node | null): boolean;
getRoomWalls(pt: go.Point): Array<any> | null;
makePolygonFromRoomBoundaries(path: Array<any>): go.List<go.Point> | null;
sortWallsClockwise(a: go.Group, b: go.Group): number;
sortWallsClockwiseWithSetStartWall(walls: go.List<go.Group>, wall: go.Group): go.List<go.Group>;
addInternalWallsToRoom(roomOuterBoundaryPts: go.List<go.Point>, roomOuterBoundaryPath: Array<any>): Array<any>;
getClockwiseWallEndpoint(w: go.Group, side: number): go.Point | null;
findRoomHoles(roomBoundaryWalls: Array<any>, pt: go.Point): Array<Array<any>>;
getPathPts(path: Array<any>): go.List<go.Point>;
getPolygonArea(vs: Array<go.Point>): number;
getRoomArea(r: go.Node): number;
isPointInWall(w: go.Group, p: go.Point): boolean;
isPointInRoom(r: go.Node, p: go.Point): boolean;
isPointInPolygon(vs: Array<go.Point>, point: go.Point): boolean;
updateWall(wall: go.Group): void;
updateRoom(room: go.Node): void;
private getAdjustedPoint;
buildDimensionLink(wall: go.Group, index: number, point1: go.Point, point2: go.Point, angle: number, wallOffset: number, soloWallFlag: boolean, floorplan: Floorplan, miteringSide: number, opacity?: number, stroke?: string, strokeWidth?: number): void;
updateWallDimensions(wallsToDisplayFor?: go.Set<go.Group>): void;
rotateAndTranslatePoint(pt: go.Point, angle: number, distance: number): go.Point;
getWallsIntersection(w1: go.Group, w2: go.Group): go.Point | null;
getSegmentsIntersection(p1: go.Point, p2: go.Point, p3: go.Point, p4: go.Point): go.Point | null;
updateWallAngles(): void;
findClosestLocOnWall(wall: go.Group, part: go.Part): go.Point | null;
}