{"version":3,"file":"ThreePassCircle.mjs","sources":["../../../../packages/ThreePassCircle/ThreePassCircle.ts"],"sourcesContent":["import { Vector3} from 'three';\r\nimport {CircleSweepPass} from \"./CircleSweepPass\";\r\nimport type { WebGLRenderer,Scene} from 'three';\r\nimport type CustomThreeLayer from '../ThreeLayer/CustomThreeLayer'\r\n\r\ninterface Options {\r\n  color: string // 颜色的rgb数值。缺省值为 0xffffff。\r\n  maxRadius: number  // 最大半径，默认1000。\r\n  position: number[] // 中心点位置\r\n}\r\n\r\nclass ThreePassCircle {\r\n  object: any // Light\r\n  layer: CustomThreeLayer // threejs的图层对象\r\n  shaderMaterial: any\r\n  frame = -1\r\n  maxRadius: number\r\n\r\n  constructor(layer: any, options: Options) {\r\n    this.maxRadius = options.maxRadius;\r\n    this.layer = layer;\r\n    // const shaderPass = this.createShaderPass(options);\r\n    const center = this.layer.convertLngLat(options.position)\r\n    const vp = new Vector3(center[0], center[1], 0);\r\n    const shaderPass = new CircleSweepPass(this.layer.getRender() as WebGLRenderer, this.layer.getScene() as Scene, this.layer.getCamera(),{\r\n      center: vp,\r\n      innerRadius: 0,\r\n      outerRadius: 10\r\n    });\r\n    this.object = shaderPass;\r\n    this.layer.addPass(shaderPass);\r\n    this.start();\r\n  }\r\n\r\n  start(){\r\n    /*this.shaderMaterial.uniforms.u_r.value += 0.001;\r\n    if (this.shaderMaterial.uniforms.u_r.value >= this.maxRadius) {\r\n      this.shaderMaterial.uniforms.u_r.value = 20\r\n    }*/\r\n    if(this.object.depthMaterial.uniforms.innerRadius.value > 100) {\r\n      this.object.depthMaterial.uniforms.innerRadius.value = 0\r\n      this.object.depthMaterial.uniforms.outerRadius.value = 10\r\n    }\r\n    this.object.depthMaterial.uniforms.innerRadius.value += 0.4\r\n    this.object.depthMaterial.uniforms.outerRadius.value += 0.4\r\n    this.refresh();\r\n    this.frame = requestAnimationFrame(() => {\r\n      this.start();\r\n    })\r\n  }\r\n\r\n  stop() {\r\n    cancelAnimationFrame(this.frame);\r\n  }\r\n\r\n  refresh() {\r\n    this.layer.update();\r\n  }\r\n\r\n  remove(){\r\n    if (this.object) {\r\n      this.layer.removePass(this.object)\r\n    }\r\n  }\r\n\r\n  destroy() {\r\n    this.stop();\r\n    if (this.object) {\r\n      if(this.object.dispose){\r\n        this.object.dispose()\r\n      }\r\n      this.object = null;\r\n      this.layer = null as any;\r\n    }\r\n  }\r\n}\r\n\r\nexport default ThreePassCircle\r\n"],"names":[],"mappings":";;;;;;;;;AAWA,MAAM,eAAgB,CAAA;AAAA,EAOpB,WAAA,CAAY,OAAY,OAAkB,EAAA;AAN1C,IAAA,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AACA;AAAA,IAAA,aAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AACA;AAAA,IAAA,aAAA,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAA;AACA,IAAQ,aAAA,CAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACR,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,CAAA,CAAA;AAGE,IAAA,IAAA,CAAK,YAAY,OAAQ,CAAA,SAAA,CAAA;AACzB,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AAEb,IAAA,MAAM,MAAS,GAAA,IAAA,CAAK,KAAM,CAAA,aAAA,CAAc,QAAQ,QAAQ,CAAA,CAAA;AACxD,IAAM,MAAA,EAAA,GAAK,IAAI,OAAQ,CAAA,MAAA,CAAO,CAAC,CAAG,EAAA,MAAA,CAAO,CAAC,CAAA,EAAG,CAAC,CAAA,CAAA;AAC9C,IAAA,MAAM,UAAa,GAAA,IAAI,eAAgB,CAAA,IAAA,CAAK,MAAM,SAAU,EAAA,EAAoB,IAAK,CAAA,KAAA,CAAM,QAAS,EAAA,EAAY,IAAK,CAAA,KAAA,CAAM,WAAY,EAAA;AAAA,MACrI,MAAQ,EAAA,EAAA;AAAA,MACR,WAAa,EAAA,CAAA;AAAA,MACb,WAAa,EAAA,EAAA;AAAA,KACd,CAAA,CAAA;AACD,IAAA,IAAA,CAAK,MAAS,GAAA,UAAA,CAAA;AACd,IAAK,IAAA,CAAA,KAAA,CAAM,QAAQ,UAAU,CAAA,CAAA;AAC7B,IAAA,IAAA,CAAK,KAAM,EAAA,CAAA;AAAA,GACb;AAAA,EAEA,KAAO,GAAA;AAKL,IAAA,IAAG,KAAK,MAAO,CAAA,aAAA,CAAc,QAAS,CAAA,WAAA,CAAY,QAAQ,GAAK,EAAA;AAC7D,MAAA,IAAA,CAAK,MAAO,CAAA,aAAA,CAAc,QAAS,CAAA,WAAA,CAAY,KAAQ,GAAA,CAAA,CAAA;AACvD,MAAA,IAAA,CAAK,MAAO,CAAA,aAAA,CAAc,QAAS,CAAA,WAAA,CAAY,KAAQ,GAAA,EAAA,CAAA;AAAA,KACzD;AACA,IAAA,IAAA,CAAK,MAAO,CAAA,aAAA,CAAc,QAAS,CAAA,WAAA,CAAY,KAAS,IAAA,GAAA,CAAA;AACxD,IAAA,IAAA,CAAK,MAAO,CAAA,aAAA,CAAc,QAAS,CAAA,WAAA,CAAY,KAAS,IAAA,GAAA,CAAA;AACxD,IAAA,IAAA,CAAK,OAAQ,EAAA,CAAA;AACb,IAAK,IAAA,CAAA,KAAA,GAAQ,sBAAsB,MAAM;AACvC,MAAA,IAAA,CAAK,KAAM,EAAA,CAAA;AAAA,KACZ,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,IAAO,GAAA;AACL,IAAA,oBAAA,CAAqB,KAAK,KAAK,CAAA,CAAA;AAAA,GACjC;AAAA,EAEA,OAAU,GAAA;AACR,IAAA,IAAA,CAAK,MAAM,MAAO,EAAA,CAAA;AAAA,GACpB;AAAA,EAEA,MAAQ,GAAA;AACN,IAAA,IAAI,KAAK,MAAQ,EAAA;AACf,MAAK,IAAA,CAAA,KAAA,CAAM,UAAW,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAAA,KACnC;AAAA,GACF;AAAA,EAEA,OAAU,GAAA;AACR,IAAA,IAAA,CAAK,IAAK,EAAA,CAAA;AACV,IAAA,IAAI,KAAK,MAAQ,EAAA;AACf,MAAG,IAAA,IAAA,CAAK,OAAO,OAAQ,EAAA;AACrB,QAAA,IAAA,CAAK,OAAO,OAAQ,EAAA,CAAA;AAAA,OACtB;AACA,MAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AACd,MAAA,IAAA,CAAK,KAAQ,GAAA,IAAA,CAAA;AAAA,KACf;AAAA,GACF;AACF;;;;"}