Class: Train

Train

火车类对象,模拟火车移动
一般通过api.train对象调用


<protected> new Train()

See:
  • DigitalTwinAPI#Train

Extends

Methods


add(data, fn)

添加一个或多个Train对象

展示效果如下动图:

Parameters:
Name Type Description
data object | array

数据结构,支持对象或数组,对于每一个对象支持以下属性:

  • id (string) Train对象的ID

  • groupId (string) 可选,Group分组

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

  • coordinateType (number) 可选,坐标系类型,取值:0为Projection类型,1为WGS84类型,默认值:0

  • coordinates (array) 路径模型的轨迹坐标数组,取值示例:取值示例

  • range (array) 可视范围: [近裁距离, 远裁距离],取值范围: [任意负值, 任意正值]

  • doubleLocomotive (number) 是否为双车头,取值范围:[0,1],0:单向车头 1:双向车头

  • direction (number) 是否为反方向,取值范围:[0,1]

  • maxSpeed (number) 最大速度

  • carriageNum (number) 车厢节数

  • carriageStyle (string) 车厢样式,对应模型路径。默认值:复兴号

  • acceleration (number) 加速度,取值范围1-10000数值越大,提速和减速越快

fn function

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

Example
对象结构示例

{
            "id": "p1",
            "coordinates": [
                [2166.33, 322.46, 6.50], 
                [1844.61, -296.01, 6.50], 
                [1196.64, -592.53, 6.50], 
                [-380.55, -277.10, 6.50]
            ],
            "coordinateType": 0,
            "range": [1, 100000],
            "doubleLocomotive": 1,
            "direction": 0,
            "maxSpeed": 300,
            "carriageNum": 4,
            "carriageStyle": "复兴号2",
            "acceleration": 1000
        }

clear(fn)

清空场景中所有的Train对象

Parameters:
Name Type Description
fn function

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


delete(ids, fn)

删除一个或多个Train对象

Parameters:
Name Type Description
ids string | array

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

fn function

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


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

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

Parameters:
Name Type Description
ids string | array

Train对象的ID或者ID数组

distance number

可选参数,观察点距离目标点(被拍摄物体)的距离,如果设置为负值则会在模型内部,可以用来模拟驾驶员视角

flyTime number

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

rotation array

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

offset array

可选参数,定位后载具视角的偏移量,单位:米,默认值:[0,0,0]

fn function

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


get(ids, fn)

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

Parameters:
Name Type Description
ids string | array

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

fn function

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

Example
train对象的详细信息
[{
            "id": "p1",
            "coordinates": [
                [2166.33, 322.46, 6.50], 
                [1844.61, -296.01, 6.50], 
                [1196.64, -592.53, 6.50], 
                [-380.55, -277.10, 6.50]
            ],
            "coordinateType": 0,
            "range": [1, 100000],
            "doubleLocomotive": 1,
            "direction": 0,
            "maxSpeed": 300,
            "carriageNum": 4,
            "carriageStyle": "复兴号2",
            "acceleration": 1000
        }

hide(ids, fn)

隐藏一个或多个Train对象

Parameters:
Name Type Description
ids string | array

Train对象的ID或者ID数组

fn function

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


moveTo(data, fn)

火车按时间和里程移动

Parameters:
Name Type Description
data object | array

数据结构,支持对象或数组,对于每一个对象支持以下属性:

  • id (string) Train对象的ID

  • distance (number) 行驶里程,单位:公里

  • time (number) 行驶耗时,单位:秒

fn function

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


pause(ids, fn)

根据火车ID暂停火车

Parameters:
Name Type Description
ids string | array

一辆火车ID或多辆火车的ID数组

fn function

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


resume(ids, fn)

根据火车ID恢复火车移动

Parameters:
Name Type Description
ids string | array

一辆火车ID或多辆火车的ID数组

fn function

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


setFollow(ids, distance, flyTime, pitch, yaw, sensitivity, fn)

设置火车行驶时自动跟随相机

Parameters:
Name Type Description
ids string | array

Train对象的ID或者ID数组

distance number

可选参数,观察点距离目标点(被拍摄物体)的距离,如果设置为负值则会在模型内部,可以用来模拟驾驶员视角

flyTime number

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

pitch number

可选参数,相机旋转的Pitch,取值范围:[-90~90]

yaw number

可选参数,相机旋转的Yaw,取值范围: [-180~180]

sensitivity number

可选参数,载具灵敏度,取值范围: [0~1]

fn function

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


show(ids, fn)

显示一个或多个Train对象

Parameters:
Name Type Description
ids string | array

Train对象的ID或者ID数组

fn function

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


update(data, fn)

修改一个或多个Train对象

Parameters:
Name Type Description
data object | array

Train对象或者数组,请参考add方法

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: