123456789101112131415161718192021222324252627282930313233343536373839 |
- import * as THREE from 'three'
- import { animation, init } from './meshAnimation'
- import grentMesh from './grentMesh'
- import config from './config'
- import addText from '../business/addText'
- async function listener(event) {
- let geoJsonArray = event.data.geoJsonArray
- geoJsonArray.forEach(j => {
- let {
- maxHeight,
- animateBuffArrays,
- fids,
- verticesBuffArrays: verticesArray,
- normalsBuffArrays: normalsArray,
- type,
- texts
- } = j
- let geometry = new THREE.BufferGeometry()
- geometry.addAttribute('position', new THREE.BufferAttribute(verticesArray, 3));
- geometry.addAttribute('normal', new THREE.BufferAttribute(normalsArray, 3));
- var mesh = grentMesh(geometry, type);
- threeLayer.getScene().add(mesh)
- mesh.maxHeight = maxHeight
- mesh.fids = fids
- init(verticesArray, maxHeight)
- animation(mesh, verticesArray, animateBuffArrays, config.stepTotal)
- addText(mesh, texts)
- })
- }
- export default listener
|