You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
6.3 KiB
1 line
6.3 KiB
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): 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(): 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;
|
|
}
|
|
export {};
|
|
export declare class FloorplanPalette extends go.Palette {
|
|
constructor(div: HTMLDivElement | string, floorplan: Floorplan);
|
|
}
|
|
export declare class NodeLabelDraggingTool extends go.Tool {
|
|
private label;
|
|
private _offset;
|
|
private _originalAlignment;
|
|
private _originalCenter;
|
|
constructor();
|
|
canStart(): boolean;
|
|
findLabel(): go.GraphObject | null;
|
|
doActivate(): void;
|
|
doDeactivate(): void;
|
|
doStop(): void;
|
|
doCancel(): void;
|
|
doMouseMove(): void;
|
|
doMouseUp(): void;
|
|
updateAlignment(): void;
|
|
}
|
|
export declare class WallBuildingTool extends go.Tool {
|
|
private _startPoint;
|
|
private _endPoint;
|
|
private _wallReshapingTool;
|
|
private _buildingWall;
|
|
private _isBuildingDivider;
|
|
constructor();
|
|
startPoint: go.Point | null;
|
|
endPoint: go.Point | null;
|
|
wallReshapingTool: WallReshapingTool | null;
|
|
buildingWall: go.Group | null;
|
|
isBuildingDivider: boolean;
|
|
doActivate(): void;
|
|
doMouseDown(): void;
|
|
doKeyDown(): void;
|
|
doMouseMove(): void;
|
|
doDeactivate(): void;
|
|
}
|
|
export declare class WallReshapingTool extends go.Tool {
|
|
private _handleArchetype;
|
|
private _handle;
|
|
private _adornedShape;
|
|
private _angle;
|
|
private _length;
|
|
private _reshapeObjectName;
|
|
private _isBuilding;
|
|
private _returnData;
|
|
private _returnPoint;
|
|
private _isIntersecting;
|
|
private _wallIntersecting;
|
|
private _joinedWalls;
|
|
constructor();
|
|
readonly handleArchetype: go.Shape;
|
|
handle: go.GraphObject | null;
|
|
adornedShape: go.Shape | null;
|
|
angle: number;
|
|
length: number;
|
|
reshapeObjectName: string;
|
|
isBuilding: boolean;
|
|
returnData: any;
|
|
returnPoint: go.Point | null;
|
|
isIntersecting: boolean;
|
|
wallIntersecting: go.Group | null;
|
|
joinedWalls: go.Set<go.Group>;
|
|
updateAdornments(part: go.Part): void;
|
|
canStart(): boolean;
|
|
doActivate(): void;
|
|
doMouseMove(): void;
|
|
private getClosestIntersectingWall;
|
|
pointsApproximatelyEqual(p1: go.Point, p2: go.Point): boolean;
|
|
private performMitering;
|
|
getAllWallIntersectionPoints(): go.Set<string>;
|
|
getAllWallsAtIntersection(intersectionPoint: go.Point | null, includeDividers?: boolean): go.List<go.Group>;
|
|
private doWallsShareAnEndpoint;
|
|
maybeSplitWall(): void;
|
|
private splitNewWall;
|
|
private maybePerformWallSplit;
|
|
splitAllWalls(): void;
|
|
private areWallsParallel;
|
|
isWallColinear(wa: go.Group, wb: go.Group): boolean;
|
|
private findAllColinearWalls;
|
|
joinColinearWalls(): void;
|
|
private performColinearWallJoining;
|
|
private maintainWallParts;
|
|
private getUpdatedEntry;
|
|
joinAllColinearWalls(): void;
|
|
translateAndRotatePoint(point: go.Point, angle: number, offset: number): go.Point;
|
|
private premiterWall;
|
|
private premiterAllWalls;
|
|
performMiteringOnWall(w: go.Group): void;
|
|
performMiteringAtPoint(pt: go.Point, performPremitering?: boolean): void;
|
|
performAllMitering(): void;
|
|
private isClockwise;
|
|
private isPointOnSegment;
|
|
doMouseUp(): void;
|
|
doDeactivate(): void;
|
|
makeAdornment(selelt: go.Shape): go.Adornment;
|
|
makeHandle(): go.Shape;
|
|
calcAngleAndLengthFromHandle(mousePt: go.Point): void;
|
|
snapPointToGrid(point: go.Point): go.Point;
|
|
reshape(newPoint: go.Point): void;
|
|
showMatches(): void;
|
|
checkPtLinedUp(pt: go.Point, comparePtCoord: number, ptCoord: number, comparePt: go.Point): void;
|
|
private reshapeWall;
|
|
private getWallPartEndpoints;
|
|
}
|