新增通过ID选中板材
This commit is contained in:
28
src/Utils.ts
28
src/Utils.ts
@@ -1,5 +1,5 @@
|
||||
import { Object3D } from "three";
|
||||
import { createTemplateBoard, DrawDimension, Viewer } from ".";
|
||||
import { createTemplateBoard, DrawDimension, Viewer, selectMaterial } from ".";
|
||||
|
||||
function dispose(m: Object3D)
|
||||
{
|
||||
@@ -11,6 +11,13 @@ function dispose(m: Object3D)
|
||||
m.children.forEach(o => dispose(o));
|
||||
}
|
||||
|
||||
|
||||
let blockMeshs: THREE.Mesh[];
|
||||
let dataRelations: {
|
||||
blockMeshMap: Map<number, number>,
|
||||
meshBlockMap: Map<number, number>
|
||||
};
|
||||
|
||||
export function LoadBoard(view: Viewer, data: any[], clear: boolean = true)
|
||||
{
|
||||
if (clear)
|
||||
@@ -21,7 +28,11 @@ export function LoadBoard(view: Viewer, data: any[], clear: boolean = true)
|
||||
|
||||
if (data.length === 0) return;
|
||||
//加板
|
||||
let { meshs, edgesa } = createTemplateBoard(data);
|
||||
let { meshs, edgesa, relations } = createTemplateBoard(data);
|
||||
|
||||
blockMeshs = meshs;
|
||||
dataRelations = relations;
|
||||
|
||||
//加标注
|
||||
let dims = DrawDimension(meshs);
|
||||
|
||||
@@ -33,3 +44,16 @@ export function LoadBoard(view: Viewer, data: any[], clear: boolean = true)
|
||||
view.ZoomAll();
|
||||
view.Zoom(1.1);
|
||||
}
|
||||
|
||||
export function SelectBlock(dataID: number)
|
||||
{
|
||||
if (dataRelations.blockMeshMap.has(dataID))
|
||||
{
|
||||
let meshId = dataRelations.blockMeshMap.get(dataID);
|
||||
let mesh = blockMeshs.find(i => i.id == meshId);
|
||||
if (mesh)
|
||||
{
|
||||
mesh.material = selectMaterial;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user