JavaScript SDK版本3.6.191

2022-03-02

三维模型
  • 优化更新了场景中的地形拍平功能接口,可以模拟场地整平。支持在3D场景与GIS场景中对地形进行拍平处理。
// 构造拍平管理器配置项
let mngConfig = new Glodon.Bimface.Plugins.Flats.FlatManagerConfig();
mngConfig.viewer = viewer3D;
// 构造拍平管理器
flatManager = new Glodon.Bimface.Plugins.Flats.FlatManager(mngConfig);

// 构造拍平对象配置项
let config = new Glodon.Bimface.Plugins.Flats.FlatConfig();
// 配置拍平高度、拍平区域
config.elevation = 5285;
config.boundary = [
  { x: -116684.80730265414, y: 167132.51411297513, z: 0 },
  { x: -153491.42232832275, y: -108012.5708737743, z: 0 },
  { x: 269220.988046648, y: -116842.17251575971, z: 0 },
  { x: 269585.6982228958, y: 176014.6062611448, z: 0 }
];
// 构造拍平对象
flat = new Glodon.Bimface.Plugins.Flats.Flat(config);
// 添加拍平对象至管理器中
flatManager.addItem(flat);

// 更改拍平高度
flat.setElevation(4500);
flatManager.update();
  • 优化更新了场景中的地形裁切功能接口,可以查看局部区域的地下模型。3D场景下仅支持对地图进行裁切,GIS场景下可以对地图及OSGB模型进行裁切。
// 构造裁切管理器配置项
let mngConfig = new Glodon.Bimface.Plugins.Clipping.ClippingManagerConfig();
mngConfig.viewer = viewerGIS;
// 构造裁切管理器
clipManager = new Glodon.Bimface.Plugins.Clipping.ClippingManager(mngConfig);

// 构造裁切对象的配置项
let config = new Glodon.Bimface.Plugins.Clipping.ClippingConfig();
// 设置裁切区域边界
config.boundary = [
  { x: -116.68480730264, y: 167.13251411513, z: 0 },
  { x: -153.49232832275, y: -108.0128737743, z: 0 },
  { x: 269.220046648, y: -116.84251575971, z: 0 },
];
// 设置参与裁切的图层ID列表(支持TileLayer与TilesetLayer),仅ViewerGIS下支持该字段,Viewer3D下无需填写该字段。
config.layerIds = ['layer_map_1','osgb-layer-id'];
// 构造裁切对象
let clipping = new Glodon.Bimface.Plugins.Clipping.Clipping(config);
// 将构造的裁切对象添加至裁切管理器中
clipManager.addItem(clipping);

// 更新参与裁切的图层列表
clipping.setLayerIds(['layer_map_1']);
clipManager.update();
控制台
  • 优化了文件转换时坐标信息的配置面板,简化了配置流程。
交互
  • 优化了漫游时间设置,支持设置关键帧处的停留时间,以及关键帧之间的漫游时间,提升了漫游时间设置的自由度,可参考自定义关键帧
// 构造路径漫游配置项
let config = new Glodon.Bimface.Plugins.Walkthrough.WalkthroughConfig();
    wt = new Glodon.Bimface.Plugins.Walkthrough.Walkthrough(config);
//设置关键帧处停留时间,间隔时间
wt.setWalkthroughTime({
     frameTime: [
        {
        "id": "1",
        "stayTime": 1,
        "timeBetweenFrames": 2
        },
        {
            "id": "2",
            "stayTime": 2,
            "timeBetweenFrames": 3
        },
        {
            "id": "2",
            "stayTime": 2,
            "timeBetweenFrames": 3
        }]})
批注
  • 优化了批注的捕捉功能,支持鼠标抬起时应用捕捉点
  • 批注点击事件:新增了批注双击点击事件;批注单击点击事件扩充了鼠标右键点击,同时点击事件支持在批注绘制界面触发;
// 设置批注双击事件
annotationToolbar.getAnnotationManager().onDoubleClick(function doubleClick(data){
  // 批注双击事件
});

// 设置批注单击事件
annotationToolbar.getAnnotationManager().onClick(function onClick(data) {
  if(data.eventType == "Click"){
    // 左键点击事件
  }
  else if(data.eventType == "RightClick"){
    // 右键点击事件
  }
});