ketcher-core
Version:
Web-based molecule sketcher
58 lines (57 loc) • 2.95 kB
TypeScript
import ReObject from './reobject';
import { MultitailArrow } from "../../../domain/entities/multitailArrow";
import type { Render } from '../raphaelRender';
import type ReStruct from './restruct';
import type { RenderOptions } from "../render.types";
import { PathBuilder } from "../pathBuilder";
import { Vec2 } from "../../../domain/entities/vec2";
import type { RaphaelPaper } from 'raphael';
export declare enum MultitailArrowRefName {
HEAD = "head",
TAILS = "tails",
TOP_TAIL = "topTail",
BOTTOM_TAIL = "bottomTail",
SPINE = "spine"
}
export interface MultitailArrowReferencePosition {
name: MultitailArrowRefName;
isLine: boolean;
tailId: number | null;
}
export interface MultitailArrowClosestReferencePosition {
distance: number;
ref: MultitailArrowReferencePosition | null;
}
export declare class ReMultitailArrow extends ReObject {
multitailArrow: MultitailArrow;
static readonly CUBIC_BEZIER_OFFSET = 6;
static readonly FRAME_OFFSET = 0.175;
static readonly SELECTION_POINT_OFFSET_FROM_SPINE = 0.1;
static readonly SPINE_MOVE_POINT_X_OFFSET = -1;
static readonly HEAD_LINE_START_OFFSET = 1;
static readonly SELECTION_POINT_RADIUS = 1;
static readonly HIDDEN_SELECTION_POINT_OPACITY = 0;
static readonly VISIBLE_SELECTION_POINT_OPACITY = 1;
private testSelectionPoints;
static isSelectable(): boolean;
static getTailIdFromRefName(name: string): number | null;
constructor(multitailArrow: MultitailArrow);
getFrameOffset(options: RenderOptions): number;
getSelectionPointOffset(options: RenderOptions): number;
getReferencePositions(renderOptions: RenderOptions): ReturnType<MultitailArrow['getReferencePositions']>;
getReferenceLines(renderOptions: RenderOptions, referencePositions?: import("../../../domain/entities/multitailArrow").MultitailArrowsReferencePositions): import("../../../domain/entities/multitailArrow").MultitailArrowsReferenceLines;
static drawSingleLineHover(builder: PathBuilder, offset: number, lineStart: Vec2, lineEnd: Vec2, verticalDirection: -1 | 1, horizontalDirection: -1 | 1): void;
buildFrame(renderOptions: RenderOptions): string;
drawHover(render: Render): any;
getSelectionPointsFromReferencePoint(point: Vec2, topSpine: Vec2, name: string, spineOffset: number): {
[x: string]: Vec2;
};
addTestSelectionPoints(reStruct: ReStruct, paper: RaphaelPaper, renderOptions: RenderOptions): void;
makeSelectionPlate(reStruct: ReStruct, paper: RaphaelPaper, options: RenderOptions): any;
show(reStruct: ReStruct, renderOptions: RenderOptions): void;
showPoints(): void;
hidePoints(): void;
private getClosestArrowPartPosition;
private getTailArrayFromPool;
calculateDistanceToPoint(point: Vec2, renderOptions: RenderOptions, maxDistanceToPoint: number): MultitailArrowClosestReferencePosition;
}