优化:改善在移动灯光时的性能

pull/1596/head
ChenX 3 years ago
parent 5f01f5d2b5
commit 2e43bf8696

@ -1,13 +1,14 @@
import { Matrix4 } from 'three'; import { Matrix4 } from 'three';
import { app } from '../ApplicationServices/Application'; import { app } from '../ApplicationServices/Application';
import { Log } from '../Common/Log';
import { CylinderHole, GangDrillType } from '../DatabaseServices/3DSolid/CylinderHole'; 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 { Board } from '../DatabaseServices/Entity/Board';
import { Light } from '../DatabaseServices/Lights/Light';
import { Command } from '../Editor/CommandMachine'; import { Command } from '../Editor/CommandMachine';
import { JigUtils } from '../Editor/JigUtils'; import { JigUtils } from '../Editor/JigUtils';
import { PromptStatus } from '../Editor/PromptResult'; 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 export class Command_Move implements Command
{ {
@ -28,7 +29,15 @@ export class Command_Move implements Command
let ens = ssRes.SelectSet.SelectEntityList; 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 ptBase = ptRes.Point;
let ptLast = ptBase.clone(); let ptLast = ptBase.clone();

@ -2,6 +2,7 @@ import { MathUtils, Matrix4, Vector3 } from 'three';
import { app } from '../ApplicationServices/Application'; import { app } from '../ApplicationServices/Application';
import { UpdateDraw } from '../Common/Status'; import { UpdateDraw } from '../Common/Status';
import { Entity } from '../DatabaseServices/Entity/Entity'; import { Entity } from '../DatabaseServices/Entity/Entity';
import { Light } from '../DatabaseServices/Lights/Light';
import { Command } from '../Editor/CommandMachine'; import { Command } from '../Editor/CommandMachine';
import { JigUtils } from '../Editor/JigUtils'; import { JigUtils } from '../Editor/JigUtils';
import { PromptStatus } from '../Editor/PromptResult'; import { PromptStatus } from '../Editor/PromptResult';
@ -23,7 +24,15 @@ export class Command_Rotate implements Command
let pt1 = ptRes.Point; let pt1 = ptRes.Point;
let ens = ss.SelectSet.SelectEntityList; 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; let isCopy = false;

@ -16,6 +16,7 @@ import { Entity } from '../Entity/Entity';
@Factory @Factory
export class Light extends Entity export class Light extends Entity
{ {
OnlyRenderType = true;
protected _Intensity: number = 2; //强度 protected _Intensity: number = 2; //强度
protected _LightColor: Color = new Color(0xffffff);//光源颜色 protected _LightColor: Color = new Color(0xffffff);//光源颜色
@AutoRecord Temperature = 6500;//色温 @AutoRecord Temperature = 6500;//色温

Loading…
Cancel
Save