edeap
Version:
Euler Diagrams Drawn with Ellipses Area-Proportionally (Edeap)
26 lines (25 loc) • 1.12 kB
TypeScript
import { EllipseParams, Fitness, FitnessData, HitInfo, State } from "./types.js";
export declare class EdeapAreas {
areaSampleStep: number;
maxTotalAreaDiff: number;
zoneStrings: string[];
proportions: number[];
contours: string[];
ellipseParams: EllipseParams[];
ellipseMap: Map<string, HitInfo>;
constructor(state: State);
computeAreasAndBoundingBoxesFromEllipses(generateLabelPositions?: boolean): FitnessData;
_fillFragment(zoneFragmentMap: number[], bitmap: boolean[], x: number, y: number, bitmapSizeX: number, bitmapSizeY: number, zoneFragmentN: number): number;
_missingZonePenalty(missingZone: string, fitnessData: FitnessData, fitness: Fitness): void;
_unwantedZonePenalty(zone: string, difference: number, fitness: Fitness): boolean;
computeFitnessComponents(): {
zoneAreaDifference: number;
unwantedZone: number;
circleDistortion: number;
splitZone: number;
missingOneLabelZone: number;
missingTwoOrMoreLabelZone: number;
unwantedExpandedOverlap: number;
};
zoneAreaTableBody(): string;
}