优化:FISC增加强制修正模式(关键字Q)

pull/1426/MERGE
ChenX 4 years ago
parent 94aab0e3c4
commit 6aeb76389e

@ -4,7 +4,7 @@ import { Intent } from "../../Common/Toaster";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Command } from "../../Editor/CommandMachine";
import { PromptStatus } from "../../Editor/PromptResult";
import { PromptSsgetResult, PromptStatus } from "../../Editor/PromptResult";
import { CreateContour2 } from "../../Geometry/CreateContour2";
import { AppToaster } from "../../UI/Components/Toaster";
@ -12,11 +12,33 @@ export class FixIntersectSelfContour implements Command
{
async exec()
{
let brRes = await app.Editor.GetSelection({
let forceMode = false;
let brRes: PromptSsgetResult;
while (true)
{
brRes = await app.Editor.GetSelection({
Msg: "选择板件",
Filter: { filterTypes: [Board] },
UseSelect: true,
KeyWordList: [{ key: "Q", msg: forceMode ? "关闭强制修正模式!" : "开启强制修正模式!" }]
});
if (brRes.Status === PromptStatus.Keyword)
{
if (brRes.StringResult === "Q")
{
forceMode = !forceMode;
AppToaster.show({
message: `成功切换到${forceMode ? "强制修正" : "非强制修正"}模式`,
timeout: 5000,
intent: Intent.SUCCESS,
});
}
continue;
}
break;
}
if (brRes.Status === PromptStatus.Cancel) return;
@ -28,7 +50,7 @@ export class FixIntersectSelfContour implements Command
{
let contour = br.ContourCurve;
if (contour instanceof Polyline &&
(contour.TempData?.IntSelf || contour.IsIntersectSelf()))
(forceMode || contour.TempData?.IntSelf || contour.IsIntersectSelf()))
{
let newContor = CreateContour2(contour.Explode());
if (newContor)

Loading…
Cancel
Save