import { Feature } from "../feature/feature"; import { Field } from "../feature/field"; import { Text } from "../text/text"; /** * 冲突检测基类 */ export declare class Collision { /** * 冲突检测 * @param {Feature[]} features - 准备绘制标注的要素集合 * @param {Field} field - 标注字段 * @param {SimpleTextSymbol} symbol - 标注文本符号 * @param {CanvasRenderingContext2D} ctx - 绘图上下文 * @param {Projection} projection - 坐标投影转换 * @return {Feature[]} 返回可绘制标注的要素集合 */ test(ctx: CanvasRenderingContext2D, features: Feature[], field: Field, text: Text): Feature[]; } /** * 无检测机制 */ export declare class NullCollision { /** * 冲突检测 * @param {CanvasRenderingContext2D} ctx - 绘图上下文 * @param {Feature[]} features - 准备绘制标注的要素集合 * @param {Field} field - 标注字段 * @param {Text} text - 标注文本符号 * @return {Feature[]} 返回可绘制标注的要素集合 */ test(ctx: CanvasRenderingContext2D, features: Feature[], field: Field, text: Text): Feature[]; } /** * 简单碰撞冲突 * @remarks * 类似聚合,距离判断,速度快 */ export declare class SimpleCollision { /** * 检测距离 * @remarks * 单位 pixel */ distance: number; /** * 冲突检测 * @param {CanvasRenderingContext2D} ctx - 绘图上下文 * @param {Feature[]} features - 准备绘制标注的要素集合 * @param {Field} field - 标注字段 * @param {Text} text - 标注文本符号 * @return {Feature[]} 返回可绘制标注的要素集合 */ test(ctx: CanvasRenderingContext2D, features: Feature[], field: Field, text: Text): Feature[]; }