|
|
@ -3,6 +3,7 @@ import { Vector3 } from "three";
|
|
|
|
import { app } from "../ApplicationServices/Application";
|
|
|
|
import { app } from "../ApplicationServices/Application";
|
|
|
|
import { Sleep } from "../Common/Sleep";
|
|
|
|
import { Sleep } from "../Common/Sleep";
|
|
|
|
import { Hole } from "../DatabaseServices/3DSolid/Hole";
|
|
|
|
import { Hole } from "../DatabaseServices/3DSolid/Hole";
|
|
|
|
|
|
|
|
import { Dimension } from "../DatabaseServices/Dimension/Dimension";
|
|
|
|
import { Board } from "../DatabaseServices/Entity/Board";
|
|
|
|
import { Board } from "../DatabaseServices/Entity/Board";
|
|
|
|
import { Entity } from "../DatabaseServices/Entity/Entity";
|
|
|
|
import { Entity } from "../DatabaseServices/Entity/Entity";
|
|
|
|
import { HardwareCompositeEntity } from "../DatabaseServices/Hardware/HardwareCompositeEntity";
|
|
|
|
import { HardwareCompositeEntity } from "../DatabaseServices/Hardware/HardwareCompositeEntity";
|
|
|
@ -149,13 +150,14 @@ export class Draw4Viewport implements Command
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 除了孔外的id和门板和非门板
|
|
|
|
* 除了孔外的id和门板和非门板
|
|
|
|
* @param ens
|
|
|
|
* @param ens
|
|
|
|
* @returns ids//不含孔的所有实体, doorIds//门板, noDoorIds//非门板 }
|
|
|
|
* @returns ids//不含孔的所有实体, doorIds//门板, noDoorIds//非门板, dimIds//标注 }
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
export function GetEntityIds(ens: Entity[])
|
|
|
|
export function GetEntityIds(ens: Entity[])
|
|
|
|
{
|
|
|
|
{
|
|
|
|
let ids: ObjectId[] = [];
|
|
|
|
let ids: ObjectId[] = [];
|
|
|
|
let noDoorIds: ObjectId[] = [];
|
|
|
|
let noDoorIds: ObjectId[] = [];
|
|
|
|
let doorIds: ObjectId[] = [];
|
|
|
|
let doorIds: ObjectId[] = [];
|
|
|
|
|
|
|
|
let dimIds: ObjectId[] = [];
|
|
|
|
for (let en of ens)
|
|
|
|
for (let en of ens)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (!(en instanceof Hole))
|
|
|
|
if (!(en instanceof Hole))
|
|
|
@ -180,11 +182,13 @@ export function GetEntityIds(ens: Entity[])
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (en instanceof Dimension)
|
|
|
|
|
|
|
|
dimIds.push(en.Id);
|
|
|
|
|
|
|
|
|
|
|
|
noDoorIds.push(en.Id);
|
|
|
|
noDoorIds.push(en.Id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return { ids, doorIds, noDoorIds };
|
|
|
|
return { ids, doorIds, noDoorIds, dimIds };
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export function Get4Viewport(p1: Vector3, p2: Vector3, ens: Entity[], view: number[], wire: string[], isHideDoor = false)
|
|
|
|
export function Get4Viewport(p1: Vector3, p2: Vector3, ens: Entity[], view: number[], wire: string[], isHideDoor = false)
|
|
|
@ -393,12 +397,12 @@ export interface ICustomViewportInfo
|
|
|
|
width: number;
|
|
|
|
width: number;
|
|
|
|
height: number;
|
|
|
|
height: number;
|
|
|
|
position: Vector3;
|
|
|
|
position: Vector3;
|
|
|
|
isHideDoor: string[];
|
|
|
|
hideEntitys: string[];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export function DrawCustomViewports(infos: ICustomViewportInfo[], ens: Entity[])
|
|
|
|
export function DrawCustomViewports(infos: ICustomViewportInfo[], ens: Entity[])
|
|
|
|
{
|
|
|
|
{
|
|
|
|
let { ids, doorIds } = GetEntityIds(ens);
|
|
|
|
let { ids, doorIds, dimIds } = GetEntityIds(ens);
|
|
|
|
let vps: ViewportEntity[] = [];
|
|
|
|
let vps: ViewportEntity[] = [];
|
|
|
|
for (let info of infos)
|
|
|
|
for (let info of infos)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -406,11 +410,13 @@ export function DrawCustomViewports(infos: ICustomViewportInfo[], ens: Entity[])
|
|
|
|
vp.camera.LookAt(info.dir);
|
|
|
|
vp.camera.LookAt(info.dir);
|
|
|
|
vp.Position = info.position;
|
|
|
|
vp.Position = info.position;
|
|
|
|
vp.RenderType = info.renderType;
|
|
|
|
vp.RenderType = info.renderType;
|
|
|
|
if (info.isHideDoor)
|
|
|
|
if (info.hideEntitys)
|
|
|
|
for (let t of info.isHideDoor)
|
|
|
|
for (let t of info.hideEntitys)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (t === "door")
|
|
|
|
if (t === "door")
|
|
|
|
vp.AppendHideObjects(doorIds);
|
|
|
|
vp.AppendHideObjects(doorIds);
|
|
|
|
|
|
|
|
if (t === "dim")
|
|
|
|
|
|
|
|
vp.AppendHideObjects(dimIds);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
vp.AppendShowObjects(ids);
|
|
|
|
vp.AppendShowObjects(ids);
|
|
|
|
vps.push(vp);
|
|
|
|
vps.push(vp);
|
|
|
|