|
|
|
@ -2,6 +2,7 @@ import { Factory } from "../../src/DatabaseServices/CADFactory";
|
|
|
|
|
import { CADFile } from "../../src/DatabaseServices/CADFile";
|
|
|
|
|
import { Polyline } from "../../src/DatabaseServices/Polyline";
|
|
|
|
|
import { Curve } from "../../src/DatabaseServices/Curve";
|
|
|
|
|
import { Entity } from "../../src/DatabaseServices/Entity";
|
|
|
|
|
Factory(Polyline);
|
|
|
|
|
|
|
|
|
|
function loadFile(data)
|
|
|
|
@ -15,6 +16,17 @@ function loadFile(data)
|
|
|
|
|
}
|
|
|
|
|
return cus;
|
|
|
|
|
}
|
|
|
|
|
// file.only
|
|
|
|
|
function EntityToMatchSnapshot(ens: Entity[])
|
|
|
|
|
{
|
|
|
|
|
let f = new CADFile();
|
|
|
|
|
f.Write(ens.length);
|
|
|
|
|
|
|
|
|
|
for (let e of ens)
|
|
|
|
|
f.WriteObject(e);
|
|
|
|
|
|
|
|
|
|
expect(f.Data).toMatchSnapshot();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
test('IKKGK圆与直线补圆弧', () =>
|
|
|
|
|
{
|
|
|
|
@ -27,28 +39,20 @@ test('IKKGK圆与直线补圆弧', () =>
|
|
|
|
|
//负1 左边. 禁止补圆弧
|
|
|
|
|
let cus = pl.GetOffsetCurves(-1);
|
|
|
|
|
|
|
|
|
|
f.Data = [];
|
|
|
|
|
f.Write(cus.length);
|
|
|
|
|
|
|
|
|
|
cus.forEach(c => f.WriteObject(c));
|
|
|
|
|
|
|
|
|
|
expect(f.Data).toMatchSnapshot();
|
|
|
|
|
EntityToMatchSnapshot(cus);
|
|
|
|
|
|
|
|
|
|
pl.GetOffsetCurves(-5.654208780429431);
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
//翻转曲线后测试
|
|
|
|
|
pl.Reverse();
|
|
|
|
|
cus = pl.GetOffsetCurves(1);
|
|
|
|
|
|
|
|
|
|
f.Data = [];
|
|
|
|
|
f.Write(cus.length);
|
|
|
|
|
cus.forEach(c => f.WriteObject(c));
|
|
|
|
|
expect(f.Data).toMatchSnapshot();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EntityToMatchSnapshot(cus);
|
|
|
|
|
|
|
|
|
|
//圆丢失的问题
|
|
|
|
|
cus = pl.GetOffsetCurves(-1.926388985025112);
|
|
|
|
|
expect(cus.length).toBe(1);
|
|
|
|
|
EntityToMatchSnapshot(cus);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('多段线偏移测试1', () =>
|
|
|
|
|