bug修复,,曲线优化

pull/68/head
Zoe 6 years ago
parent b3c388500c
commit f777e98db0

@ -67,7 +67,6 @@ export class LinkSelf
//计算闭合的区域 //计算闭合的区域
private CalCloseCurve(breakCus: Curve[], cuMap: CurveMap) private CalCloseCurve(breakCus: Curve[], cuMap: CurveMap)
{ {
let breakCount = breakCus.length; let breakCount = breakCus.length;
let selfRoutes: Set<Curve>[] = []; let selfRoutes: Set<Curve>[] = [];
@ -137,6 +136,7 @@ export class LinkSelf
} }
linkCurve(originCu: Curve, cuMap: CurveMap, cs: Curve[], isInv: boolean = false) linkCurve(originCu: Curve, cuMap: CurveMap, cs: Curve[], isInv: boolean = false)
{ {
//FIXME:两线共线时连接有问题
let cuIndex = this.GetCurveIndex(originCu); let cuIndex = this.GetCurveIndex(originCu);
while (true) while (true)
{ {

@ -58,13 +58,23 @@ export class PolyOffestUtil
// c.Outline.ColorIndex = 2; // c.Outline.ColorIndex = 2;
// app.m_Database.ModelSpace.Append(c.Outline); // app.m_Database.ModelSpace.Append(c.Outline);
// }) // })
// console.time("trim");
let newPls = this.trimAndJointOffestPolyline(offres1, this.m_Polyline); let newPls = this.trimAndJointOffestPolyline(offres1, this.m_Polyline);
// console.timeEnd("trim");
// console.time("con");
let cus = this.trimByContours(newPls, contours); let cus = this.trimByContours(newPls, contours);
// console.timeEnd("con");
// return cus;
// console.time("link");
let rets = this.linkSelfingCurves2(cus); let rets = this.linkSelfingCurves2(cus);
// console.timeEnd('link');
if (!this.IsKeepAllCurves) if (!this.IsKeepAllCurves)
{ {
// console.time("op");
rets = this.optimizeCus(rets); rets = this.optimizeCus(rets);
// console.timeEnd("op");
} }
return rets; return rets;
} }
@ -585,9 +595,8 @@ export class PolyOffestUtil
{ {
retPls.push(noSealCus[0]); retPls.push(noSealCus[0]);
} }
retPls.push(firstLine); firstLine && retPls.push(firstLine);
retPls.push(...sealCus); retPls.push(...sealCus);
return retPls; return retPls;
} }
closePolyline(pl: Polyline) closePolyline(pl: Polyline)

Loading…
Cancel
Save