# MapGIS Client for JavaScript API

Common Cesium-Plugin MapboxGL-Plugin Leaflet-Plugin OpenLayers-Plugin Video-Plugin
API文档

#### # new Wind3D(viewer, data, options)

风场系统

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`viewer` | Object |  | 视图对象
`data` | Object |  | 由nc数据解析后的风场数据
`options` | Object |  | 附加粒子配置参数
`particlesNumber` | Number | 150000 | 最大粒子数
`fadeOpacity` | Number | 0.950 | 拖尾透明度，控制每帧粒子轨迹消失的速度，透明度越高，消失得越快，粒子呈现出的轨迹越短
`speedFactor` | Number | 0.5 | 粒子速度，决定了粒子移动的速度有多快
`lineWidth` | Number | 2 | 线宽

##### 示例

    // ES5引入方式
    const { Wind3D } = zondy.cesium
    // ES6引入方式
    import { Wind3D } from "@mapgis/webclient-cesium-plugin"

    loadNetCDF('http://127.0.0.1:5500/demo.nc').then((data) => {
         var userInput = {
             particlesNumber: particlesNumber,
             fadeOpacity: fadeOpacity,
             speedFactor: speedFactor,
             lineWidth: lineWidth
         };
         particleObj = new Wind3D(viewer, data, userInput);
         particleObj.init();
     });

### 成员变量

类型: Number

#### # fadeOpacity

拖尾透明度，控制每帧粒子轨迹消失的速度，透明度越高，消失得越快，粒子呈现出的轨迹越短

类型: Number

#### # lineWidth

线宽

类型: Number

#### # particlesNumber

最大粒子数

类型: Number

#### # speedFactor

粒子速度，决定了粒子移动的速度有多快

### 方法

#### # addPrimitives()

添加风场粒子系统的渲染命令到场景中的渲染列表 依次添加计算速度、更新位置、后处理位置、绘制粒子段、绘制拖尾和屏幕显示的渲染命令。

返回值:
类型: Object

#### # hide()

隐藏风场系统

#### # init()

风场系统初始化

#### # optionsChange(userInput)

配置项改变后触发更新事件，重新应用用户输入的参数。

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`userInput` | Object |

返回值:
类型: Object

#### # remove()

移除风场

返回值:
类型: Object

#### # removeEventListeners()

移除监听

#### # setupEventListeners()

添加监听 设置事件监听器，包括相机移动开始、移动结束、场景渲染前和窗口大小改变事件。 在相机移动开始时隐藏风场粒子系统，移动结束时更新视图参数并显示风场粒子系统。 在场景渲染前处理窗口大小改变事件，重新调整风场粒子系统的大小并重新添加渲染命令。

#### # updateViewerParameters()

更新视图参数，包括经纬度范围和像素大小

返回值:
类型: Object
构造函数
成员变量
方法
事件