MMSDT.coverage()
需先用 MMSDT.addIcon()、 MMSDT.addModel()、 MMSDT.textIcon()加载IoT设备。
对IoT设备图标、IoT设备模型,按“区域”、“设备类型”进行组合筛选。
构造函数
MMSDT.coverage( area: string, type: string )
area - 包含所属区域字符串的数组。
type - 包含设备类型字符串的数组。
无参数,隐藏所有
'all' - 包含所属区域或设备类型的全部。
MMSDT.coverageID()
需先用 MMSDT.addIcon()、 MMSDT.addModel()、 MMSDT.textIcon()加载IoT设备。
对指定ID号的特定设备进行显示或者隐藏。其它未在指定中的ID号不起任何作用。
构造函数
MMSDT.coverageID( array, Boolean )
array - 包含id号字符串的数组。
Boolean - true显示,false隐藏。
代码示例
var MMS3D_exceptionMesh = []; //需要材质拆分的网格
var MMS3D_instancingMesh = []; //合并实例化网格
//初始化场景
MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh );
//设置第3人称鼠标控制器
controls3.maxPolarAngle = Math.PI*0.49; //向下,最大角度限制
controls3.maxDistance = 1000; //最远距离限制
controls3.screenSpacePanning = false; //右键平移是否上下移动
controls3.enableDamping = true; //是否开启惯性阻尼
controls3.dampingFactor = 0.1; //惯性阻尼系数
controls3.autoRotateSpeed = 2; //自动旋转速度
//使用json文件让场景还原
MMSDT.onloadScene( "models/mms3D_cangku1.json", function(progress){
if( progress == 'done' ){
//加载完成,播放动画
for( var i=0; i<actions[0].length; i++ ){
actions[0][i].play();
actions[0][i].timeScale = 0.5;
}
}else if( progress == 'ok' ){
//渲染完成
}else{
//显示进度条数字
document.getElementById("loadNum").innerHTML = Math.round( progress )+'%';
}
});
//读取json设备信息并加载
MMSDT.getJson( "models/equip_cangku1.json", function(dataJson){
var options1 = {
dirUrl: 'models/equip/', //String(安装目录)
scale: 2.5, //Number(设备模型大小缩放,在已编辑的大中小基础上)
height: 0, //相对高度
visible: true, //Boolean(默认是否显示,true显示,false隐藏)
}
MMSDT.addModel(dataJson, options1); //载入IoT设备
var options2 = {
dirUrl: 'models/equip/', //安装目录
scale: 1, //缩放比例
height: 16, //相对高度
visible: true, //默认显示
animate: true, //上下浮动
lookAt: true, //是否垂直约束
color: 0x1197ff, //默认颜色
}
new MMSDT.addIcon( dataJson, options2); //载入IoT图标
});
//自定义对外函数接口------------------------------------------------------------------------
//设备筛选
MMAPI.iotCoverage = function(num ){
switch(num) {
case 0: //全部隐藏
MMSDT.coverage();
break;
case 1: //全部显示
MMSDT.coverage( 'all', 'all' );
break;
case 2: //筛选摄像机
MMSDT.coverage( ['A'], ['1'] );
break;
case 3: //筛选消火栓
MMSDT.coverage( ['A'], ['17'] );
break;
case 4: //筛选灭火器
MMSDT.coverage( ['A'], ['18'] );
break;
case 5: //指定id的红外探测器显示
MMSDT.coverageID( ['H01','H03','H06'], true );
break;
case 6: //指定id的红外探测器隐藏
MMSDT.coverageID( ['H01','H03','H06'], false );
break;
}
}
点击查看示例演示 →
Powered by mms3D