44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|   | 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
 |