import { container, ILayerPlugin, TYPES } from '@l7/core'; import BaseLayer from './core/BaseLayer'; import HeatmapLayer from './heatmap'; import DashLineLayer from './line/dash'; import LineLayer from './line/index'; import PointLayer from './point'; import PolygonLayer from './polygon'; import ImageLayer from './raster/image'; import RasterLayer from './raster/raster'; import ConfigSchemaValidationPlugin from './plugins/ConfigSchemaValidationPlugin'; import DataMappingPlugin from './plugins/DataMappingPlugin'; import DataSourcePlugin from './plugins/DataSourcePlugin'; import FeatureScalePlugin from './plugins/FeatureScalePlugin'; import LightingPlugin from './plugins/LightingPlugin'; import MultiPassRendererPlugin from './plugins/MultiPassRendererPlugin'; import PixelPickingPlugin from './plugins/PixelPickingPlugin'; import RegisterStyleAttributePlugin from './plugins/RegisterStyleAttributePlugin'; import ShaderUniformPlugin from './plugins/ShaderUniformPlugin'; import UpdateStyleAttributePlugin from './plugins/UpdateStyleAttributePlugin'; /** * 校验传入参数配置项的正确性 * @see /dev-docs/ConfigSchemaValidation.md */ container .bind(TYPES.ILayerPlugin) .to(ConfigSchemaValidationPlugin); /** * 获取 Source */ container.bind(TYPES.ILayerPlugin).to(DataSourcePlugin); /** * 根据 StyleAttribute 创建 VertexAttribute */ container .bind(TYPES.ILayerPlugin) .to(RegisterStyleAttributePlugin); /** * 根据 Source 创建 Scale */ container.bind(TYPES.ILayerPlugin).to(FeatureScalePlugin); /** * 使用 Scale 进行数据映射 */ container.bind(TYPES.ILayerPlugin).to(DataMappingPlugin); /** * 负责属性更新 */ container.bind(TYPES.ILayerPlugin).to(UpdateStyleAttributePlugin); /** * Multi Pass 自定义渲染管线 */ container.bind(TYPES.ILayerPlugin).to(MultiPassRendererPlugin); /** * 传入相机坐标系参数 */ container.bind(TYPES.ILayerPlugin).to(ShaderUniformPlugin); /** * 传入光照相关参数 */ container.bind(TYPES.ILayerPlugin).to(LightingPlugin); /** * 负责拾取过程中 Encode 以及 Highlight 阶段及结束后恢复 */ container.bind(TYPES.ILayerPlugin).to(PixelPickingPlugin); export { BaseLayer, PointLayer, PolygonLayer, LineLayer, DashLineLayer, ImageLayer, RasterLayer, HeatmapLayer, };