jysBlack2
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

28 lines
1.6 KiB

import PathProxy from '../core/PathProxy';
import Path from '../graphic/Path';
import Element, { ElementAnimateConfig } from '../Element';
interface CombiningPath extends Path {
__combiningSubList: Path[];
__oldAddSelfToZr: Element['addSelfToZr'];
__oldRemoveSelfFromZr: Element['removeSelfFromZr'];
__oldBuildPath: Path['buildPath'];
childrenRef(): Path[];
}
export declare type MorphDividingMethod = 'split' | 'duplicate';
export interface CombineSeparateConfig extends ElementAnimateConfig {
dividingMethod?: MorphDividingMethod;
}
export interface CombineSeparateResult {
fromIndividuals: Path[];
toIndividuals: Path[];
count: number;
}
export declare function pathToBezierCurves(path: PathProxy): number[][];
export declare function alignBezierCurves(array1: number[][], array2: number[][]): number[][][];
export declare function centroid(array: number[]): number[];
export declare function morphPath(fromPath: Path, toPath: Path, animationOpts: ElementAnimateConfig): Path;
export declare function isCombiningPath(path: Path): path is CombiningPath;
export declare function isInAnyMorphing(path: Path): boolean;
export declare function combine(fromPathList: Path[], toPath: Path, animationOpts: CombineSeparateConfig, copyPropsIfDivided?: (srcPath: Path, tarPath: Path, needClone: boolean) => void): CombineSeparateResult;
export declare function separate(fromPath: Path, toPathList: Path[], animationOpts: CombineSeparateConfig, copyPropsIfDivided?: (srcPath: Path, tarPath: Path, needClone: boolean) => void): CombineSeparateResult;
export {};