@turbox3d/design-engine
Version:
Large-scale design application engine library
25 lines (24 loc) • 843 B
TypeScript
import { Vector2 } from '@turbox3d/math';
import EntityObject from '../entity-object';
export default class InferenceEngine {
/**
* 旋转吸附2d
* @param targetDegree 目标角度
* @param baseLine 吸附基准线(默认每90度为一个吸附线)
* @param tolerance 吸附的误差范围(默认15度)
*/
rotateSnap2d(targetDegree: number, baseLine?: number, tolerance?: number): {
snappedDegree: number;
snapped: boolean;
};
private findClosestPointSorted;
/**
* 实体吸附2d
*/
entitySnap2d(targetEntity: EntityObject, snappedEntities: EntityObject[], tolerance?: number): {
vertical: Vector2[] | undefined;
verticalDiff: number | undefined;
horizontal: Vector2[] | undefined;
horizontalDiff: number | undefined;
};
}