UNPKG

ketcher-core

Version:
54 lines (53 loc) 2.21 kB
import type { D3SvgElementSelection } from "../../types"; import type { BaseMonomer } from "../../../../domain/entities"; import type { PolymerBond } from "../../../../domain/entities/PolymerBond"; import { BaseRenderer } from '../BaseRenderer'; export declare class SnakeModePolymerBondRenderer extends BaseRenderer { readonly polymerBond: PolymerBond; private readonly editorEvents; private isSnakeBond; private selectionElement; private path; private previousStateOfIsMonomersOnSameHorizontalLine; private sideConnectionBondTurnPoint?; bodyElement?: D3SvgElementSelection<SVGLineElement, this>; constructor(polymerBond: PolymerBond); get isSnake(): true; private get isHydrogenBond(); get rootBBox(): DOMRect | undefined; get width(): number; get height(): number; private get scaledPosition(); getSideConnectionEndpointAngle(monomer: BaseMonomer): number; moveSelection(): void; appendBond(rootElement: any): D3SvgElementSelection<SVGLineElement, this> | undefined; appendSnakeBond(rootElement: any): D3SvgElementSelection<SVGLineElement, this> | undefined; private appendSideConnectionBond; private getMonomerWidth; private getMonomerHeight; private get isSideChainLikeBackbone(); private updateSnakeBondPath; private isSecondMonomerTopRight; private isSecondMonomerBottomRight; private isSecondMonomerBottomLeft; private isSecondMonomerTopLeft; private isSecondMonomerLeft; private addLine; private addRandomLine; appendBondGraph(rootElement: any): D3SvgElementSelection<SVGLineElement, this> | undefined; private appendRootElement; show(_theme?: unknown, force?: boolean): void; private get isSideConnectionBondDrawn(); drawSelection(): void; moveEnd(): void; private moveSnakeBondEnd; private moveGraphBondEnd; moveStart(): void; private moveSnakeBondStart; private moveGraphBondStart; protected appendHoverAreaElement(): void; appendHover(): void; removeHover(): string | D3SvgElementSelection<SVGGElement, void>; private calculateIsSnakeBond; remove(): void; }