{"version":3,"file":"ThreeLayer.vue2.mjs","sources":["../../../../packages/ThreeLayer/ThreeLayer.vue"],"sourcesContent":["<template>\r\n  <slot />\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { defineOptions, provide } from \"vue\";\r\nimport { useRegister, buildProps, provideKey } from \"@vuemap/vue-amap\";\r\nimport CustomThreeLayer from \"./CustomThreeLayer\";\r\nimport type { TRegisterFn, IProvideType } from \"@vuemap/vue-amap\";\r\nimport type { PropType } from \"vue\";\r\nimport type { HDROptions, LightOption } from \"./Type\";\r\nimport type { WebGLRendererParameters } from \"three\";\r\n\r\ndefineOptions({\r\n  name: \"ElAmapLayerThree\",\r\n  inheritAttrs: false,\r\n});\r\n\r\nconst needInitComponents: TRegisterFn[] = [];\r\nconst provideData: IProvideType = {\r\n  $amapComponent: undefined,\r\n  addChildComponent(cb) {\r\n    needInitComponents.push(cb);\r\n  },\r\n  isDestroy: false,\r\n};\r\n\r\nprovide(provideKey, provideData);\r\n\r\ndefineProps(\r\n  buildProps({\r\n    lights: {\r\n      type: Array as PropType<LightOption[]>,\r\n      default() {\r\n        return [];\r\n      },\r\n    }, // 灯光数组\r\n    hdr: {\r\n      type: Object as PropType<HDROptions>,\r\n    },\r\n    zooms: {\r\n      type: Array as PropType<number[]>,\r\n      default() {\r\n        return [2, 20];\r\n      },\r\n    }, // 支持的缩放级别范围，默认范围 [2, 20]\r\n    opacity: {\r\n      type: Number,\r\n    }, // 透明度，默认 1\r\n    alpha: {\r\n      type: Boolean,\r\n      default: true,\r\n    }, // canvas是否包含alpha (透明度)。默认为 false\r\n    antialias: {\r\n      type: Boolean,\r\n      default: false,\r\n    }, // 是否执行抗锯齿。默认为false\r\n    customCoordsCenter: {\r\n      type: Array as PropType<number[]>,\r\n      default() {\r\n        return null;\r\n      },\r\n    },\r\n    axesHelper: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    createCanvas: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    webGLRendererParameters: {\r\n      type: Object as PropType<WebGLRendererParameters>,\r\n      default() {\r\n        return undefined;\r\n      },\r\n    },\r\n    createCssRender: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  })\r\n);\r\nconst emits = defineEmits([\"init\"]);\r\n\r\nlet $amapComponent: CustomThreeLayer;\r\n\r\nconst { $$getInstance, parentInstance } = useRegister<CustomThreeLayer, any>(\r\n  (options, parentComponent) => {\r\n    return new Promise<CustomThreeLayer>((resolve) => {\r\n      $amapComponent = new CustomThreeLayer(parentComponent, options, () => {\r\n        provideData.$amapComponent = $amapComponent;\r\n        resolve($amapComponent);\r\n      });\r\n    });\r\n  },\r\n  {\r\n    emits,\r\n    provideData,\r\n    needInitComponents,\r\n    destroyComponent() {\r\n      if ($amapComponent) {\r\n        $amapComponent.destroy();\r\n        $amapComponent = null as any;\r\n      }\r\n    },\r\n  }\r\n);\r\n\r\nconst convertLngLat = (lnglat: any) => {\r\n  return $amapComponent.convertLngLat(lnglat);\r\n};\r\nconst addObject = (object: any) => {\r\n  $amapComponent.add(object);\r\n};\r\nconst removeObject = (object: any) => {\r\n  $amapComponent.remove(object);\r\n};\r\nconst addEnvMap = (obj: any) => {\r\n  $amapComponent.addEnvMap(obj);\r\n};\r\nconst $$getScene = () => {\r\n  return $amapComponent.getScene();\r\n};\r\nconst $$getRender = () => {\r\n  return $amapComponent.getRender();\r\n};\r\nconst $$refresh = () => {\r\n  $amapComponent.refreshMap();\r\n};\r\nconst $$addPass = (pass: any) => {\r\n  $amapComponent.addPass(pass);\r\n};\r\nconst $$removePass = (pass: any) => {\r\n  $amapComponent.removePass(pass);\r\n};\r\n\r\ndefineExpose({\r\n  $$getInstance,\r\n  convertLngLat,\r\n  addObject,\r\n  removeObject,\r\n  addEnvMap,\r\n  $$getScene,\r\n  $$getRender,\r\n  $$refresh,\r\n  $$addPass,\r\n  $$removePass,\r\n});\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,IAAA,MAAM,qBAAoC,EAAC,CAAA;AAC3C,IAAA,MAAM,WAA4B,GAAA;AAAA,MAChC,cAAgB,EAAA,KAAA,CAAA;AAAA,MAChB,kBAAkB,EAAI,EAAA;AACpB,QAAA,kBAAA,CAAmB,KAAK,EAAE,CAAA,CAAA;AAAA,OAC5B;AAAA,MACA,SAAW,EAAA,KAAA;AAAA,KACb,CAAA;AAEA,IAAA,OAAA,CAAQ,YAAY,WAAW,CAAA,CAAA;AAwD/B,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAI,IAAA,cAAA,CAAA;AAEJ,IAAM,MAAA,EAAE,aAAe,EAAA,cAAA,EAAmB,GAAA,WAAA;AAAA,MACxC,CAAC,SAAS,eAAoB,KAAA;AAC5B,QAAO,OAAA,IAAI,OAA0B,CAAA,CAAC,OAAY,KAAA;AAChD,UAAA,cAAA,GAAiB,IAAI,gBAAA,CAAiB,eAAiB,EAAA,OAAA,EAAS,MAAM;AACpE,YAAA,WAAA,CAAY,cAAiB,GAAA,cAAA,CAAA;AAC7B,YAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,WACvB,CAAA,CAAA;AAAA,SACF,CAAA,CAAA;AAAA,OACH;AAAA,MACA;AAAA,QACE,KAAA;AAAA,QACA,WAAA;AAAA,QACA,kBAAA;AAAA,QACA,gBAAmB,GAAA;AACjB,UAAA,IAAI,cAAgB,EAAA;AAClB,YAAA,cAAA,CAAe,OAAQ,EAAA,CAAA;AACvB,YAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,WACnB;AAAA,SACF;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,CAAC,MAAgB,KAAA;AACrC,MAAO,OAAA,cAAA,CAAe,cAAc,MAAM,CAAA,CAAA;AAAA,KAC5C,CAAA;AACA,IAAM,MAAA,SAAA,GAAY,CAAC,MAAgB,KAAA;AACjC,MAAA,cAAA,CAAe,IAAI,MAAM,CAAA,CAAA;AAAA,KAC3B,CAAA;AACA,IAAM,MAAA,YAAA,GAAe,CAAC,MAAgB,KAAA;AACpC,MAAA,cAAA,CAAe,OAAO,MAAM,CAAA,CAAA;AAAA,KAC9B,CAAA;AACA,IAAM,MAAA,SAAA,GAAY,CAAC,GAAa,KAAA;AAC9B,MAAA,cAAA,CAAe,UAAU,GAAG,CAAA,CAAA;AAAA,KAC9B,CAAA;AACA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,OAAO,eAAe,QAAS,EAAA,CAAA;AAAA,KACjC,CAAA;AACA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,OAAO,eAAe,SAAU,EAAA,CAAA;AAAA,KAClC,CAAA;AACA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,cAAA,CAAe,UAAW,EAAA,CAAA;AAAA,KAC5B,CAAA;AACA,IAAM,MAAA,SAAA,GAAY,CAAC,IAAc,KAAA;AAC/B,MAAA,cAAA,CAAe,QAAQ,IAAI,CAAA,CAAA;AAAA,KAC7B,CAAA;AACA,IAAM,MAAA,YAAA,GAAe,CAAC,IAAc,KAAA;AAClC,MAAA,cAAA,CAAe,WAAW,IAAI,CAAA,CAAA;AAAA,KAChC,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,aAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;"}