e1752ac91a7ed5c43fc0947ae6ea432d80ce7517.svn-base 904 B

123456789101112131415161718192021222324252627282930313233
  1. import * as THREE from 'three'
  2. import { animation, init } from './meshAnimation'
  3. import grentMesh from './grentMesh'
  4. import config from './config'
  5. async function listener(event) {
  6. let geoJsonArray = event.data.geoJsonArray
  7. geoJsonArray.forEach(j => {
  8. let {
  9. maxHeight,
  10. animateBuffArrays,
  11. fids,
  12. verticesBuffArrays: verticesArray,
  13. normalsBuffArrays: normalsArray,
  14. type
  15. } = j
  16. let geometry = new THREE.BufferGeometry()
  17. geometry.addAttribute('position', new THREE.BufferAttribute(verticesArray, 3));
  18. geometry.addAttribute('normal', new THREE.BufferAttribute(normalsArray, 3));
  19. var mesh = grentMesh(geometry, type);
  20. threeLayer.getScene().add(mesh)
  21. mesh.maxHeight = maxHeight
  22. mesh.fids = fids
  23. init(verticesArray, maxHeight)
  24. animation(mesh, verticesArray, animateBuffArrays, config.stepTotal)
  25. })
  26. }
  27. export default listener