JavaScript SDK版本3.6.214
2022-08-17
// 构造WebApplication
let webApplication = new Glodon.Bimface.Application.WebApplication3D(webAppConfig);
// 添加构件树节点点击监听事件
webApplication.addEventListener(Glodon.Bimface.Application.WebApplication3DEvent.ModelTreeNodeClicked, getCondition);
// 定义获取筛选条件的方法
let condition;
function getCondition(data) {
if(data.condition){
condition = data.condition;
}
};
// 构造外部构件管理器
let extObjMng = new Glodon.Bimface.Plugins.ExternalObject.ExternalObjectManager(viewer3D);
//根据条件给外部构件着色
let color = new Glodon.Web.Graphics.Color(100, 22, 180, 0.8);
extObjMng.overrideColor({ids:[extObjId1,extObjId2]}, color);
//根据条件清空外部构件颜色,恢复默认颜色显示
extObjMng.restoreColor({all:true});
//构造火焰效果的配置项
let fireConfig = new Glodon.Bimface.Plugins.ParticleSystem.FireEffectConfig();
//设置火焰效果类型为烟雾
fireConfig.fireType = Glodon.Bimface.Plugins.ParticleSystem.FireType.Smoke;
//构造火焰对象
fireEffect = new Glodon.Bimface.Plugins.ParticleSystem.FireEffect(fireConfig);
//设置烟雾颜色
fireEffect.setColor({smokeColor: {r: 255, g: 255, b:255}});
//获取烟雾颜色
fireEffect.getColor();
在场景编辑-效果编辑模块中,新增了雨景效果的添加与编辑功能,支持在场景中模拟雨天特效。发布场景后效果数据将一并保存在场景中,预览时也会自动加载显示已添加的效果。基于BIMFACE控制台-场景发布模块进入场景编辑页面,即可体验该功能模块。
在场景编辑-效果编辑模块中,优化了新增效果的确认/取消按钮。
// 获取GIS场景的相机对象
let camera = viewerGIS.getCamera();
// 设置相机状态,并在相机视角切换完成后输出提示
let status = {name:"persp",position:{x:25.94,y:-34.91,z:1000},target:{x:-11.88,y:16.36,z:0},up:{x:-0.12,y:0.17,z:0.97},near:16902.62,far:67471.99,zoom:1,version:1,fov:45,aspect:1.268041237113402,coordinateSystem:"world"};
camera.setStatus(status,function(){
// 相机状态切换完成后在控制台输出提示
console.log('相机状态设置成功!');
});
// 相机缩放至指定构件包围盒,并在缩放完成后控制台打印对应提示
camera.zoomToBoundingBox(boundingBox,function(){
console.log('相机已缩放至指定包围盒!');
},1,1000);
// 获取GIS场景的相机对象
let camera = viewerGIS.getCamera();
// 禁用平移
camera.enablePan(false);
// 禁用俯仰
camera.enablePitch(false);
// 禁用旋转
camera.enableRotate(false);
// 禁用缩放
camera.enableZoom(false);
// 开启深度检测,开启后可监听标签的遮挡状态变化事件,默认为false。适用于Viewer3D、ViewerGIS。
customItem.enableDepthTest(true);
// 设置标签遮挡状态变化的事件,将返回标签是否被遮挡(true/false),仅当开启深度检测后才生效。
customItem.onObstructionChanged(function (data){
if(data){
// 被遮挡时隐藏标签
customItem.hide();
}else{
// 未遮挡时显示标签
customItem.show();
}
});
BIMFACE智能客服
7*24提供专业的BIMFACE使用支持与帮助