Class: SmoothedParticleHydrodynamics

SmoothedParticleHydrodynamics

光滑粒子流体动力学仿真对象,实现对光滑粒子流体动力学仿真对象的操作
一般通过api.smoothedParticleHydrodynamics调用其方法


new SmoothedParticleHydrodynamics()

See:

Extends

Methods


add(data, fn)

添加一个或多个光滑粒子流体动力学仿真对象

Parameters:
Name Type Description
data object | array

光滑粒子流体动力学仿真对象,可以是Object类型或者Array类型,对于每一个SmoothedParticleHydrodynamics对象,支持以下属性:

  • id (string) 光滑粒子流体动力学仿真对象的唯一标识符ID

  • groupId (string) 可选,Group分组

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

  • origin (array) 仿真模型对象的原点,默认值:[0, 0, 0],如果bin文件内坐标是相对坐标则此参数相当于offset

  • style (number) 光滑粒子流体动力学仿真对象样式,取值范围:[0,1,2,3,4],取值描述:0热力样式 1~4四种水材质样式,默认值:0

  • duration (number) 仿真的持续时间,单位:秒,默认值:30s

  • loop (boolean) 是否循环播放,默认值:false

  • play (boolean) 添加后是否开始播放,默认值:false

  • files (array) 按时序排列的二进制bin文件路径的二维数组,结构示例:["D:\Time1.bin","D:\Time2.bin"...],bin文件格式描述:x,y,z,value,分别对应四个8字节的double字段,按顺序写入二进制bin文件

  • particle (object) 光滑粒子样式属性如下:

    thickness (number) 每个粒子的基础水深,默认值:0.02米

    radius (number) 每个粒子的默认半径,默认值:15米

  • colors (object) 热力样式下的自定义调色板对象,包含颜色渐变控制、无效像素颜色和调色板区间数组

    gradient (boolean) 是否渐变

    invalidColor (Color) 无效值对应的默认颜色,默认白色

    colorStops (array) 调色板对象数组,每一个对象包含热力值和对应颜色值,结构示例:[{"value":0, "color":[0,0,1,1]}],每一个调色板对象支持以下属性:


    color (Color) 热力值对应的调色板颜色

    value (number) 热力值

fn function

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


clear(fn)

清空场景中所有的光滑粒子流体动力学仿真对象

Parameters:
Name Type Description
fn function

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


delete(ids, fn)

删除一个或多个光滑粒子流体动力学仿真对象

Parameters:
Name Type Description
ids string | array

要删除的光滑粒子流体动力学仿真对象ID或者ID数组(可以删除一个或者多个)

fn function

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


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

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

Parameters:
Name Type Description
ids string | array

光滑粒子流体动力学仿真对象的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获取光滑粒子流体动力学仿真对象的详细信息

Parameters:
Name Type Description
ids string | array

要获取的光滑粒子流体动力学仿真对象ID或者ID数组(可以获取一个或者多个)

fn function

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

Returns:

hide(ids, fn)

隐藏光滑粒子流体动力学仿真对象

Parameters:
Name Type Description
ids string | array

光滑粒子流体动力学仿真对象的ID或者ID数组

fn function

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


show(ids, fn)

显示光滑粒子流体动力学仿真对象

Parameters:
Name Type Description
ids string | array

光滑粒子流体动力学仿真对象的ID或者ID数组

fn function

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


update(data, fn)

修改一个或多个光滑粒子流体动力学仿真对象,支持更新以下属性:

Parameters:
Name Type Description
data data | array

光滑粒子流体动力学仿真对象或对象数组,支持更新以下属性:

  • id (string) 根据SmoothedParticleHydrodynamics对象ID更新以下属性

  • play (boolean) 可选,是否开始播放,默认值:false

  • particle (object) 可选,光滑粒子样式属性如下:

    thickness (number) 每个粒子的基础水深,默认值:0.02米

    radius (number) 每个粒子的默认半径,默认值:15米

  • colors (object) 可选,热力样式下的自定义调色板对象,包含颜色渐变控制、无效像素颜色和调色板区间数组

    gradient (boolean) 是否渐变

    invalidColor (Color) 无效值对应的默认颜色,默认白色

    colorStops (array) 调色板对象数组,每一个对象包含热力值和对应颜色值,结构示例:[{"value":0, "color":[0,0,1,1]}],每一个调色板对象支持以下属性:


    color (Color) 热力值对应的调色板颜色

    value (number) 热力值

fn function

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


updateBegin()

用于批量多次修改对象的属性

在开始修改之前调用updateBegin,然后可以多次调用setXXX方法,最后调用updateEnd提交修改更新数据
注意:
updateBegin不是异步调用,不需要await,也没有回调函数参数

Inherited From:
Overrides:
Example
fdapi.xxx.updateBegin();
for (let i = 0; i < 1000; i++) {
     fdapi.xxx.setColor(i, Color.Yellow);
} 
fdapi.xxx.updateEnd(function () {
     log('update finished!');
});

updateEnd(fn)

用于批量多次修改对象的属性,与updateBegin配套使用
注意:
updateEnd是异步调用,可以用回调函数也可以await

Parameters:
Name Type Description
fn function

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

Inherited From:
Overrides: