载入IoT设备模型

MMSDT.addModel()

       读取http://paas.mms3d.cn在线编辑平台中编辑的json文件后,加载IoT设备模型。

构造函数

      MMSDT.addModel( data: dataJson, parameters: object, callback: function )

       data - 载入的.json文件数据内容。

       parameters - json格式,参数设置。

           dirUrl: 'models/equip/', //String(安装目录)

           scale: 2.5, //Number(设备模型大小缩放,在已编辑的大中小基础上)

           height: 0, //相对高度

           visible: false, //Boolean(默认是否显示,true显示,false隐藏)

       callback - function,回调函数,加载完成。

代码示例

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' ){ //渲染完成 onloadDone(); }else{ //显示进度条数字 document.getElementById("loadNum").innerHTML = Math.round( progress )+'%'; } }); //场景加载完成 function onloadDone(){ //读取json设备信息并加载 MMSDT.getJson( "models/equip_cangku1.json", function(dataJson){ var options = { dirUrl: 'models/equip/', //String(安装目录) scale: 2.5, //Number(设备模型大小缩放,在已编辑的大中小基础上) height: 0, //相对高度 visible: false, //Boolean(默认是否显示,true显示,false隐藏) } MMSDT.addModel(dataJson, options, function(){ //载入IoT设备 console.log("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: //筛选红外探测器 MMSDT.coverage( ['A'], ['9'] ); break; case 6: //筛选气体监测器 MMSDT.coverage( ['A'], ['14'] ); break; } }

点击查看示例演示 →