webcad-ue4-api/types/Geometry/RegionParse.d.ts
2024-10-29 17:14:43 +08:00

44 lines
1.7 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Curve } from "../DatabaseServices/Entity/Curve";
import { Route, Vertice } from "./CurveMap";
type RegionRouteS = (Route[])[];
/**
面域分析,基于最小循环图重新实现的版本,拓展了实现求最大轮廓。
当最大轮廓=最小轮廓时,只绘制最大轮廓(独立轮廓无分裂)。
算法只实现去重模式,业务场景应该没有非去重模式。
如果需要非去重模式那么应该获取到多个CurveMap然后对多个CurveMap进行面域分析得出多个重叠的面域。
*/
export declare class RegionParse {
numDimensions: number;
private removeDuplicate;
RegionsOutline: RegionRouteS;
RegionsInternal: RegionRouteS;
ExpLineMap: Map<Curve, Curve[]>;
private _CurveCount;
/**
* @param cuList 请不要传递圆和椭圆.
* @param [numDimensions=3] 精度:小数点后个数
* @param [removeDuplicate=true] 删除重复(现在必须是true,请不要修改它)
*/
constructor(cuList: Curve[], numDimensions?: number, removeDuplicate?: boolean);
static RegionsIsOverlap(Route: Route[]): boolean;
private RemoveFilamentAt;
private RemoveEdge;
/**
* 找到最下方并且最左边的站 yx
*/
private FindLowerLeftStand;
/**
* 构造路线图. 每个节点对应下一个路口的路线表. 路口表使用逆时针排序,起始角度使用正x轴.
* @returns 所有的顶点
*/
protected GenerateVerticeMap(curveList: Curve[]): Array<Vertice>;
private BreakArc;
/**
* 曲线是否已经被算法使用
*/
GetCueveUsed(cu: Curve): boolean;
}
export declare function CalcRouteAngle(r: Route, length: number): void;
export {};
//# sourceMappingURL=RegionParse.d.ts.map