Class: WaterFlowField

WaterFlowField

WaterFlowField流场类对象,用于精确控制水流单个网格的方向速度等
一般通过api.waterFlowField调用其方法


<protected> new WaterFlowField()

See:

Methods


add(data, fn)

添加一个或多个WaterFlowField对象

Parameters:
Name Type Description
data object | array

WaterMesh数据,可以是Object类型或者Array类型,对于每一个WaterFlowField对象,支持以下属性:

  • id (string) WaterFlowField对象ID

  • groupId (string) 可选,Group分组

  • userData (string) 可选,用户自定义数据

  • coordinateType (number) 坐标系类型,取值范围:0为Projection类型,1为WGS84类型,2为火星坐标系(GCJ02),3为百度坐标系(BD09),默认值:0

  • indices (array) 可选,顶点坐标的索引,用来绘制流场内的三角网格,可以为空,若不传则使用系统默认计算的顶点索引;数组元素类型:(number);数组元素顺序:顶点索引顺序需构成三角网格且同为顺时针或逆时针方向;数组元素取值范围:[0~points.length-1],取值示例:[2, 0, 3, 0, 2, 1]

  • maxEdgeLength (number) 三角网格边的最大长度,用于控制流场内各三角形边的最大长度,取值范围:[0~任意正数],单位:米,默认值:0,自动计算最大长度

  • points (array) 流场内运动的采样点位置坐标数组,二维数组,数组元素:[X,Y,Z],取值示例

  • uvs (array) 流场内运动的采样点流速流向数组,二维数组,数组元素:[U,V],单位:米/秒,其中uvs数组必须和points保持对应关系且长度一致

  • alphas (array) 流场内运动的采样点渲染区域不透明度数组,一维数组,数组元素:数值,范围:[0~1],其中alphas数组必须和points和uvs保持对应关系且长度一致

  • validUVRange (array) 流速有效范围,流速小于min的区域会显示蓝色,min到max之间的区域会从蓝色过渡到红色显示热力图的颜色变化效果,流速大于max的显示红色,[min,max],数组元素min/max的取值范围:[0~任意正数],默认值:[0,max],数组元素单位:米/秒

  • uvRangeMapping (array) 流速重映射范围,为了突出流动效果,可以对流速有效范围进行一个映射,把ValidUVRange的min和max映射到一个新的min和max,方便看出流向,[mapMin,mapMax],即validUVRange范围的对应数值映射的新范围,用来增加流速从而调整渲染效果。

  • displayMode (WaterFlowFieldStyle) 流场的材质样式,参考 WaterFlowFieldStyle,0为热力值材质,1为水流材质,2为光流粒子材质,默认取值:0

  • heatValues (array) 可选,热值数组,一维数组,数组元素为数值,仅displayMode参数为0时生效,heatValues数组长度必须和points/uvs保持对应关系且长度一致

  • colorLookUpArray (array) 可选,热值显示对应的颜色数组,二维数组,数组元素为[r,g,b,a]颜色数组,rgba取值范围:[0~1],即各颜色值除于255,仅displayMode参数为0时生效,数组长度大于2

  • heatValueRange (array) 可选,热值取值范围数组,仅displayMode参数为0时生效,取值示例:[min,max],数组元素min/max的取值范围:[0~1000],默认值:[0,1]

  • waterColor (Color) 水流材质的颜色,仅displayMode=1时生效,默认值:[0.0, 0.325, 0.223, 1.00],支持四种格式,取值示例

  • particleScale (number) 水流粒子缩放大小,取值范围:[1~30],默认值:1

  • traceFactor (number) 光流轨迹保持因子,仅在displayMode=2生效,取值范围:[0~100] 值越大粒子轨迹越长,注意:水流场的采样点越稀疏,因子值就要设置越大

fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
请求数据结构示例 
        [{
            "id":"waterFlowField1",           //WaterFlowField对象ID
            "groupId": "waterFlowFieldGroup1", //可选,Group分组
            "userData": "myWaterFlowFieldData",//可选,用户自定义数据
            "coordinateType": 0,          //坐标系类型 0为投影坐标系
            "displayMode": WaterFlowFieldStyle.HeapMap,  //0为热力值材质,1为水流材质
            "waterColor": [0.0, 0.325, 0.223, 1.00],//水流材质的颜色,仅displayMode=1时生效
            "validUVRange": [2,3.2],   //水流速度叠加后显示的颜色热力值范围
            "particleScale": 2,        //水流粒子大小
            //"indices":[2, 0, 3, 0, 2, 1],//采样点顶点坐标的索引,允许为空,当此参数为空时系统自动计算三角面的顶点索引
            "maxEdgeLength": 0,//三角网格边的最大长度,用于控制流场内各三角形边的最大长度,传入默认值0时则自动计算最大长度
            "points":  [[1000, 1000, 100], [1000, -1000, 100], [-1000, -1000, 100], [-1000, 1000, 100]],//采样点位置坐标数组
            "uvs": [[2.85,-0.17],[5,9],[10,20],[20,10]]//流速流向数组
            "alphas": [1,1,1,1]
        }]

clear(fn)

清空场景中所有的WaterFlowField对象

Parameters:
Name Type Description
fn function

可选的回调函数,请参考二次开发:异步接口调用方式


delete(ids, fn)

删除一个或多个WaterFlowField对象

Parameters:
Name Type Description
ids string | array

要删除的WaterFlowField对象的ID或者ID数组(可以删除一个或者多个)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


focus(ids, distance, flyTime, rotation, fn)

自动定位到合适的观察距离

Parameters:
Name Type Description
ids string | array

WaterFlowField对象的ID或者ID数组

distance number

可选参数,观察点距离目标点(被拍摄物体)的距离,取值范围:[0.01~任意正数],如果设置为0或者不设置,系统自动计算

flyTime number

可选参数,相机飞行的时间,取值范围:[0~任意正数],单位:秒,默认值2秒

rotation array

可选参数,相机旋转的欧拉角:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:Pitch[-90~90] Yaw[-180~180] Roll[0]

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


get(ids, fn)

根据ID获取WaterFlowField对象的详细信息

Parameters:
Name Type Description
ids string | array

要获取的WaterFlowField对象ID或者ID数组(可以获取一个或者多个)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
WaterFlowField的详细信息
[{
            "id":	"flowField1",
            "groupId":	"flowFieldGroup1",
            "userData":	"myFlowFieldData",
            "coordinateType":	0,
            "maxEdgeLength": 0,
            "displayMode":	0,
            "waterColor": [0.0, 0.325, 0.223, 1.00],
            "validUVRange":	[2.000000, 3.200000],
            "particleScale":	2.000000
            
        }]

hide(ids, fn)

隐藏WaterFlowField对象

Parameters:
Name Type Description
ids string | array

WaterFlowField对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


setViewportVisible(id, vp, fn)

设置水流场对象在进入多视口状态下视口可见性

Parameters:
Name Type Description
id string

WaterFlowField对象ID

vp Viewport

视口掩码(Viewport位运算)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


show(ids, fn)

显示WaterFlowField对象

Parameters:
Name Type Description
ids string | array

WaterFlowField对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


update(data, fn)

修改一个或多个WaterFlowField对象

Parameters:
Name Type Description
data object | array

WaterFlowField数据,支持单个对象和对象数组,结构参考add方法

fn function

可选的回调函数,请参考二次开发:异步接口调用方式