ketcher-core
Version:
Web-based molecule sketcher
30 lines (29 loc) • 1 kB
TypeScript
import { HalfEdge } from "./HalfEdge";
import type { Bond } from "../../../domain/entities/CoreBond";
import type { Atom } from "../../../domain/entities/CoreAtom";
import { Loop } from "./Loop";
export declare class ViewModel {
halfEdges: Map<number, HalfEdge>;
atomsToHalfEdges: Map<Atom, HalfEdge[]>;
bondsToHalfEdges: Map<Bond, HalfEdge[]>;
loops: Map<number, Loop>;
private setHalfBondProperties;
private setAtomsToHalfEdgesMap;
private setBondsToHalfEdgesMap;
private initHalfEdge;
private initHalfEdges;
private setHalfEdgesAngle;
private sortAtomsHalfEdges;
private partitionLoop;
private getAngleBetweenHalfEdges;
private loopIsInner;
private loopHasSelfIntersections;
private loopIsConvex;
private findLoops;
getLargestSectorFromAtomNeighbours(atom: Atom): {
neighborAngle: number;
largestAngle: number;
};
private clearState;
initialize(bonds: Bond[]): void;
}