历史版本10 :FVS三维组件接口 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

适用场景:安装了「FVS大屏编辑模式」插件的用户,可参考本文了解 FVS 模板的相关接口。

注:不支持移动端。


目录:

版本编辑

报表服务器版本插件版本功能变动
11.0V1.0.0-
11.0.9V1.13.0新增接口 animateSceneTime
11.0.9V1.14.0

新增模型获取接口:getMeshByName

新增模型控制接口:setVisible 、setScaling 、setRotation 、setPosition 、focus

getDataLayers编辑

方法getDataLayers()获取三维组件所有的数据图层
     参数--
  返回值DataLayer[]

interface DataLayer {

  /**

   * 图层是否显示

   */

  visible: boolean;

  /**

   * 设置图层显示或隐藏

   */

  setVisible: (visible: boolean) => void;

}

     示例获取某个三维组件的全部数据图层:
duchamp.getWidgetByName("三维组件名称").getDataLayers();


  应用示例

FVS点击隐藏/显示三维组件数据图层

    移动端不支持移动端

getDataLayerByName编辑

方法getDataLayerByName()获取某个三维组件的某个具体数据图层
     参数name:string数据图层名称,字符串
  返回值DataLayer

interface DataLayer {

  /**

   * 当前图层是否显示

   */

  visible: boolean;

  /**

   * 设置当前图层显示或隐藏

   */

  setVisible: (visible: boolean) => void;

}

     示例获取某个三维组件的「图层1」数据图层:
duchamp.getWidgetByName("三维组件名称").getDataLayerByName("图层1");


  应用示例

FVS点击隐藏/显示三维组件数据图层

   移动端不支持移动端

animateSceneTime编辑

方法animateSceneTime(

{

from:number,

to:number,

duration:number,

})

设置 自定义模型组件 场景时间动态变化
     参数

from:number

to:number

duration:number

from:场景变化的开始时间,整数,最小为 0 ,无上限

to:场景变化的结束时间,整数,必须大于 from 

duration:场景完成变化的时长,单位 ms

  返回值--
     示例

自定义模型从第一天的 14:00 开始到 第二天的 14:00 结束,变化时长为 3 秒:

duchamp.getWidgetByName("自定义模型1_页面1").animateSceneTime({
     from: 14, //从默认的14点开始
     to: 38, //到第二天的14点结束
     duration: 3000 //变化时长为 3 秒
});

在上述场景的基础上,开启循环变化:

注:暂无停止场景时间变化接口。

setInterval(function(){
duchamp.getWidgetByName("自定义模型1_页面1").animateSceneTime({
     from: 14,
     to: 38,
     duration: 3000
});         
},2000)      


  应用示例

FVS自定义模型组件场景时间

   移动端不支持移动端

getMeshByName编辑

方法getMeshByName(name)获取「三维城市组件」或「自定义模型组件」中的模型对象
     参数

name:string

模型mesh对象名称
  返回值Object

name:模型mesh对象名称

visible: 可见性

scaling: 缩放比例

rotation: 旋转角度

position: 位置

focus: 聚焦模型位置

     示例

示例:获取某个模型对象的缩放比例

duchamp.getWidgetByName("组件名称").getMeshByName("模型名称").scaling


  应用示例

JS实现自定义模型视角聚焦

   移动端不支持移动端

注:下列所述 setVisible 、setScaling 、setRotation 、setPosition 、focus 接口均需在获取模型对象之后使用。

setVisible

方法setVisible(visible:boolean)设置模型对象是否可见
     参数

visible:boolean

是否可见,布尔型

  • true:可见

  • false:不可见

  返回值void

viod

     示例

示例:设置某个三维组件中某个模型对象不可见

duchamp.getWidgetByName("组件名称").getMeshByName("模型名称").setVisible(false);


  应用示例

-

   移动端不支持移动端

setScaling

方法setScaling(NumberArray3)设置模型对象的缩放比例
     参数

NumberArray3

缩放比例的值:[X,Y,Z]

  返回值void

viod

     示例

示例:设置某个三维组件中某个模型对象的缩放比例

duchamp.getWidgetByName("组件名称").getMeshByName("模型名称").setScaling([10,10,10]);


  应用示例-
   移动端不支持移动端

setRotation

方法setRotation(NumberArray3)设置模型对象的旋转角度
     参数

NumberArray3

旋转角度的值:[X,Y,Z]

  返回值void

viod

     示例

示例:设置某个三维组件中某个模型对象的缩放比例

duchamp.getWidgetByName("组件名称").getMeshByName("模型名称").setRotation([10,10,10]);


  应用示例-
   移动端不支持移动端

setPosition

方法setPosition(NumberArray3)设置模型对象的位置
     参数

NumberArray3

位置的值:[X,Y,Z]

  返回值void

viod

     示例

示例:设置某个三维组件中某个模型对象的位置

duchamp.getWidgetByName("组件名称").getMeshByName("模型名称").setPosition([10,10,10]);


  应用示例-
   移动端不支持移动端

focus

方法focus()设置模型对象快速聚焦
     参数

-

-

  返回值void

viod

     示例

示例:设置某个三维组件中某个模型对象的缩放比例

duchamp.getWidgetByName("组件名称").getMeshByName("模型名称").focus();


  应用示例JS实现自定义模型视角聚焦
   移动端不支持移动端