调整板材选择
This commit is contained in:
		
							
								
								
									
										33
									
								
								src/Utils.ts
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								src/Utils.ts
									
									
									
									
									
								
							@@ -11,13 +11,6 @@ function dispose(m: Object3D)
 | 
				
			|||||||
    m.children.forEach(o => dispose(o));
 | 
					    m.children.forEach(o => dispose(o));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
let blockMeshs: Mesh[];
 | 
					 | 
				
			||||||
let dataRelations: {
 | 
					 | 
				
			||||||
    blockMeshMap: Map<number, number>,
 | 
					 | 
				
			||||||
    meshBlockMap: Map<number, number>
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function LoadBoard(view: Viewer, data: any[], clear: boolean = true)
 | 
					export function LoadBoard(view: Viewer, data: any[], clear: boolean = true)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (clear)
 | 
					    if (clear)
 | 
				
			||||||
@@ -30,9 +23,6 @@ export function LoadBoard(view: Viewer, data: any[], clear: boolean = true)
 | 
				
			|||||||
    //加板
 | 
					    //加板
 | 
				
			||||||
    let { meshs, edgesa, relations } = createTemplateBoard(data);
 | 
					    let { meshs, edgesa, relations } = createTemplateBoard(data);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    blockMeshs = meshs;
 | 
					 | 
				
			||||||
    dataRelations = relations;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    //加标注
 | 
					    //加标注
 | 
				
			||||||
    let dims = DrawDimension(meshs);
 | 
					    let dims = DrawDimension(meshs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -43,17 +33,26 @@ export function LoadBoard(view: Viewer, data: any[], clear: boolean = true)
 | 
				
			|||||||
    view.ViewToSwiso();
 | 
					    view.ViewToSwiso();
 | 
				
			||||||
    view.ZoomAll();
 | 
					    view.ZoomAll();
 | 
				
			||||||
    view.Zoom(1.1);
 | 
					    view.Zoom(1.1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return relations;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function SelectBlock(dataID: number)
 | 
					export function SelectBlock(view: Viewer, blockMeshMap: Map<number, number>, dataID: number)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (dataRelations.blockMeshMap.has(dataID))
 | 
					    if (blockMeshMap.has(dataID))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        let meshId = dataRelations.blockMeshMap.get(dataID);
 | 
					        let meshId = blockMeshMap.get(dataID);
 | 
				
			||||||
        let mesh = blockMeshs.find(i => i.id == meshId);
 | 
					        view.m_Scene.children.forEach(obj =>
 | 
				
			||||||
        if (mesh)
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            mesh.material = selectMaterial;
 | 
					            if (obj instanceof Mesh)
 | 
				
			||||||
        }
 | 
					            {
 | 
				
			||||||
 | 
					                if (obj.id == meshId)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    obj.material = selectMaterial;
 | 
				
			||||||
 | 
					                    view.m_bNeedUpdate = true;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user