UNPKG

ketcher-core

Version:
55 lines (54 loc) 2.23 kB
import { D3SvgElementSelection } from "../../types"; import { BaseMonomer } from "../../../../domain/entities"; import { PolymerBond } from "../../../../domain/entities/PolymerBond"; import { BaseRenderer } from '../BaseRenderer'; export declare class SnakeModePolymerBondRenderer extends BaseRenderer { readonly polymerBond: PolymerBond; private 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 drawPartOfSideConnection; 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(): D3SvgElementSelection<SVGLineElement | SVGGElement, void>; private calculateIsSnakeBond; remove(): void; }