UNPKG

@syncfusion/ej2-diagrams

Version:

Feature-rich diagram control to create diagrams like flow charts, organizational charts, mind maps, and BPMN diagrams. Its rich feature set includes built-in shapes, editing, serializing, exporting, printing, overview, data binding, and automatic layouts.

114 lines (113 loc) 3.05 kB
import { Rect } from '../../primitives/rect'; import { Quad } from './quad'; /** * Spatial search module helps to effectively find the objects over diagram */ export declare class SpatialSearch { private topElement; private bottomElement; private rightElement; private leftElement; private quadSize; private quadTable; private objectTable; /** @private */ parentQuad: Quad; private pageLeft; private pageRight; private pageTop; private pageBottom; /** @private */ childLeft: number; /** @private */ childTop: number; /** @private */ childRight: number; /** @private */ childBottom: number; /** @private */ childNode: IGroupable; /** * Constructor for creating the spatial search * * @param {number} objectTable The objectTable. * @private */ constructor(objectTable: Object); /** * removeFromAQuad method\ * * @returns {void} removeFromAQuad method .\ * @param {IGroupable} node - provide the options value. * @private */ removeFromAQuad(node: IGroupable): void; private update; private addIntoAQuad; private objectIndex; updateQuad(node: IGroupable): boolean; private isWithinPageBounds; /** * findQuads method\ * * @returns { Quad[] } findQuads method .\ * @param {Rect} region - provide the options value. * @private */ findQuads(region: Rect): Quad[]; /** * findObjects method\ * * @returns { IGroupable[] } findObjects method .\ * @param {Rect} region - provide the options value. * @private */ findObjects(region: Rect): IGroupable[]; /** * updateBounds method\ * * @returns { boolean } updateBounds method .\ * @param {IGroupable} node - provide the options value. * @param {boolean} isSwimLane - provide boolean if its swimlane container * @private */ updateBounds(node: IGroupable, isSwimLane?: boolean): boolean; private updateTop; private updateBottom; private updateLeft; private updateRight; private findBottom; private findRight; private findLeft; private findTop; /** * setCurrentNode method\ * * @returns { void } setCurrentNode method .\ * @param {IGroupable} node - provide the options value. * @private */ setCurrentNode(node: IGroupable): void; /** * getPageBounds method\ * * @returns { Rect } getPageBounds method .\ * @param {number} originX - provide the options value. * @param {number} originY - provide the options value. * @private */ getPageBounds(originX?: number, originY?: number): Rect; /** * getQuad method\ * * @returns { Quad } getQuad method .\ * @param {IGroupable} node - provide the options value. * @private */ getQuad(node: IGroupable): Quad; } /** @private */ export interface IGroupable { id: string; outerBounds: Rect; }