# MapGIS Client for JavaScript API

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

#### # new WaterReflection(options)

创建反射水面的实例化对象

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`options` | Object |  | 创建反射水面的参数
`viewer` | Cesium.Viewer |  | 显示三维地球场景的对象，详见Cesium.Viewer
`positions` | Array.<Cesium.Cartographic> |  | 构成水面的若干个坐标点
`rippleSize` | Number | 100.0 | 水面的波纹大小
`flowDegrees` | Number | 0 | 水流方向的角度，表示纹理坐标的旋转，以弧度为单位
`height` | Number | 0.0 | 水面的高度
`normalMapUrl` | String |  | 水面的法线贴图
`waterColor` | Cesium.Color | Cesium.Color(0.2, 0.3, 0.6, 1.0) | 水面的颜色，详见Cesium.Color
`waterAlpha` | Number | 0.9 | 水面的透明度
`reflectivity` | Number | 0.35 | 水面的反射率
`lightDirection` | Cesium.Cartesian3 | Cesium.Cartesian3(0, 0, 1) | 反射光线的方向，详见Cesium.Cartesian3
`sunShiny` | Number | 100.0 | 反射光线的强度
`distortionScale` | Number | 25.0 | 水面反射的扭曲尺度
`flowSpeed` | Number | 10.0 | 水流的速度

返回值:

返回根据参数所生成的反射水面实例化对象

类型: Object

##### 示例

<h7>水面倒影特效</h7>

    // 参考示例：
    http://webclient.smaryun.com/#/modules/cesium/visualization/commonVisualization/water-reflection-effect

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

    // 创建反射水面的范围
    let positions = [
      Cesium.Cartographic.fromDegrees(114.3972, 30.4710, 0.0),
      Cesium.Cartographic.fromDegrees(114.4053, 30.4710, 0.0),
      Cesium.Cartographic.fromDegrees(114.4053, 30.4638, 0.0),
      Cesium.Cartographic.fromDegrees(114.3972, 30.4638, 0.0),
    ];
    // 实例化反射水面的对象
    let water = new WaterReflection({
      viewer: viewer,
      positions: positions,
      distortionScale: 2.0,
    });

### 成员变量

类型: Number

#### # distortionScale

获取或设置反射水面的扭曲尺度，值越大则反射贴图的扭曲程度越高

类型: Number

#### # flowSpeed

获取或设置反射水面的水流速度，值越大则水流速度越快，该参数仅表示视觉上的水流速度，并不与物理世界的速度相关联

类型: Number

#### # height

获取或设置反射水面的高度

类型: Number

#### # reflectivity

获取或设置反射水面的反射率，取值范围为[0,1]，值越大则反射率越高

类型: Number

#### # rippleSize

获取或设置反射水面的波纹大小，数值越大波纹则波纹越密集

类型: Number

#### # waterAlpha

获取或设置反射水面的透明度，取值范围为[0,1]，0表示全透明，1表示不透明

类型: Cesium.Color

#### # waterColor

获取或设置反射水面的颜色

### 方法

#### # destroy()

销毁反射水面的实例化对象

构造函数
成员变量
方法
事件