import { Point } from '../vector'; import SkeletonContext from './SkeletonContext'; import SkeletonNode from './SkeletonNode'; export default class StraightSkeleton { private offsetDistance; private distanceSign; private initialNodes; private _ctx; constructor(); getCtx(): SkeletonContext; /** * Sets the absolute distance in units by which the edges should be moved.
* Positive: Grow face. Negative: Shrink face.
* Defaults to Float.NEGATIVE_INFINITY. * @param distance */ setDistance(distance: number): void; /** * Sets the epsilon value that is used for degeneracy tests. Bigger values may reduce errors due to numerical instability in certain cases. * Defaults to 0.0001f. * @param epsilon */ setEpsilon(epsilon: number): void; execute(contour: Point[], holes?: Point[][], debugStep?: boolean): (() => any | null) | undefined; loop(): void; loopStep(): () => any | null; _eachLoop(): boolean; /** * Creates MovingNodes for all the vertices. * Also calculates bounding rectangle. * @return Diagonal length of bounding rectangle. */ private _createNodes; private _createNode; initBisectors(): void; initEvents(): void; scale(dist: number): void; private isInvalid; getStartNodes(): SkeletonNode[]; getEndNodes(): SkeletonNode[]; getNodeLoops(): SkeletonNode[][]; }