From 270507e47b812fedaf3fddc3afd5e1912c2ffdeb Mon Sep 17 00:00:00 2001 From: ChenX Date: Mon, 11 Feb 2019 17:39:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=B8=83=E5=B0=94=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __test__/Booloperate/bool2.test.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/__test__/Booloperate/bool2.test.ts b/__test__/Booloperate/bool2.test.ts index 646c65517..8cb51ed25 100644 --- a/__test__/Booloperate/bool2.test.ts +++ b/__test__/Booloperate/bool2.test.ts @@ -1,6 +1,6 @@ import { Region } from "../../src/DatabaseServices/Region"; -import { LoadRegionsFromFileData } from "../Utils/LoadEntity.util"; import { BoolOpeartionType } from "../../src/GraphicsSystem/BoolOperateUtils"; +import { LoadRegionsFromFileData } from "../Utils/LoadEntity.util"; test("#IRFL2面域消失", () => { @@ -60,3 +60,16 @@ test("包含差集的对象,差一点就可以切断", () => expect(regs[0].ShapeManager.ShapeCount).toBe(1); expect(regs[0].ShapeManager.ShapeList[0].Holes.length).toBe(1); }); + +test('矩形只有尖角重合并进行并集', () => +{ + let d = + [2, "Region", 2, 1, 114, false, 7, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1], 1, 1, 1, 1, 1, "Polyline", 2, 1, 0, false, 1, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1], 0, 2, 4, [1010.1971830985912, 770.3662408450699], 0, [1188.676083098591, 770.3662408450699], 0, [1188.676083098591, 1153.69014084507], 0, [1010.1971830985912, 1153.69014084507], 0, true, 0, "Region", 2, 1, 115, false, 7, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1], 1, 1, 1, 1, 1, "Polyline", 2, 1, 0, false, 1, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1], 0, 2, 4, [1188.676083098591, 1153.69014084507], 0, [1273.859183098591, 1153.69014084507], 0, [1273.859183098591, 1315.94364084507], 0, [1188.676083098591, 1315.94364084507], 0, true, 0] + + let regs: Region[] = LoadRegionsFromFileData(d); + regs[0].BooleanOper(regs[1], BoolOpeartionType.Union); + let ens = regs[0].Explode(); + + //炸开后应该还是2个面域 + expect(ens.length).toBe(2); +});