From 2e43bf86968d82435d1ed5414db77122ea35d023 Mon Sep 17 00:00:00 2001 From: ChenX Date: Mon, 27 Sep 2021 11:19:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96:=E6=94=B9=E5=96=84=E5=9C=A8?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=81=AF=E5=85=89=E6=97=B6=E7=9A=84=E6=80=A7?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Add-on/Move.ts | 17 +++++++++++++---- src/Add-on/Rotate.ts | 11 ++++++++++- src/DatabaseServices/Lights/Light.ts | 1 + 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/Add-on/Move.ts b/src/Add-on/Move.ts index b9973284b..442e51879 100644 --- a/src/Add-on/Move.ts +++ b/src/Add-on/Move.ts @@ -1,13 +1,14 @@ import { Matrix4 } from 'three'; import { app } from '../ApplicationServices/Application'; +import { Log } from '../Common/Log'; import { CylinderHole, GangDrillType } from '../DatabaseServices/3DSolid/CylinderHole'; +import { ExtrudeHole } from '../DatabaseServices/3DSolid/ExtrudeHole'; +import { Hole } from '../DatabaseServices/3DSolid/Hole'; import { Board } from '../DatabaseServices/Entity/Board'; +import { Light } from '../DatabaseServices/Lights/Light'; import { Command } from '../Editor/CommandMachine'; import { JigUtils } from '../Editor/JigUtils'; import { PromptStatus } from '../Editor/PromptResult'; -import { Log } from '../Common/Log'; -import { Hole } from '../DatabaseServices/3DSolid/Hole'; -import { ExtrudeHole } from '../DatabaseServices/3DSolid/ExtrudeHole'; export class Command_Move implements Command { @@ -28,7 +29,15 @@ export class Command_Move implements Command let ens = ssRes.SelectSet.SelectEntityList; - let ensClone = ens.map(e => JigUtils.Draw(e)); + let ensClone = ens.map(e => + { + if (e instanceof Light) + { + e.DrawObject.visible = false; + return JigUtils.Draw(e, true); + } + return JigUtils.Draw(e); + }); let ptBase = ptRes.Point; let ptLast = ptBase.clone(); diff --git a/src/Add-on/Rotate.ts b/src/Add-on/Rotate.ts index 6213eadac..1cb3afd7f 100644 --- a/src/Add-on/Rotate.ts +++ b/src/Add-on/Rotate.ts @@ -2,6 +2,7 @@ import { MathUtils, Matrix4, Vector3 } from 'three'; import { app } from '../ApplicationServices/Application'; import { UpdateDraw } from '../Common/Status'; import { Entity } from '../DatabaseServices/Entity/Entity'; +import { Light } from '../DatabaseServices/Lights/Light'; import { Command } from '../Editor/CommandMachine'; import { JigUtils } from '../Editor/JigUtils'; import { PromptStatus } from '../Editor/PromptResult'; @@ -23,7 +24,15 @@ export class Command_Rotate implements Command let pt1 = ptRes.Point; let ens = ss.SelectSet.SelectEntityList; - let cloneEns = ens.map(en => JigUtils.Draw(en)); + let cloneEns = ens.map(e => + { + if (e instanceof Light)//为了避免性能损耗,这里用快速拷贝的方式,并且将原来的灯隐藏显示 + { + e.DrawObject.visible = false; + return JigUtils.Draw(e, true); + } + return JigUtils.Draw(e); + }); let isCopy = false; diff --git a/src/DatabaseServices/Lights/Light.ts b/src/DatabaseServices/Lights/Light.ts index 0a0b1aeb6..75474f665 100644 --- a/src/DatabaseServices/Lights/Light.ts +++ b/src/DatabaseServices/Lights/Light.ts @@ -16,6 +16,7 @@ import { Entity } from '../Entity/Entity'; @Factory export class Light extends Entity { + OnlyRenderType = true; protected _Intensity: number = 2; //强度 protected _LightColor: Color = new Color(0xffffff);//光源颜色 @AutoRecord Temperature = 6500;//色温