TopologyHandler.js 586 B

1234567891011121314151617181920
  1. export class TopologyHandler extends BaseDataHandler {
  2. parse(data) {
  3. // 1. 根据拓扑数据生成颜色材质
  4. const material = createMaterial({
  5. type: 'meshPhong',
  6. colorMap: data.colorMap
  7. })
  8. // 2. 构建几何体
  9. const geometry = new THREE.BufferGeometry()
  10. geometry.setAttribute('position', new Float32BufferAttribute(data.vertices, 3))
  11. // 3. 生成可交互对象
  12. const mesh = new THREE.Mesh(geometry, material)
  13. mesh.userData = { originalData: data }
  14. this.scene.add(mesh)
  15. this.objectMap.set(data.id, mesh)
  16. }
  17. }