沟边

MMSDT.outLine()

       对指定的“子模型元素”,沟边突出显示。

构造函数

      MMSDT.outLine( object: string )

       object - 字符串,“子模型元素”的名称。或者为包含该字符串的数组。

       无参数为空,则取消选择。

代码示例

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 = 1; //自动旋转速度 //使用json文件让场景还原 MMSDT.onloadScene( "models/mms3D_cangku2.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' ){ //渲染完成 renderDone(); }else{ //显示进度条数字 document.getElementById("loadNum").innerHTML = Math.round( progress )+'%'; } }); MMSDT.getJson( "models/equip_cangku3.json", function(dataJson){ //添加IoT设备图标 var options = { dirUrl: 'models/equip/', //安装目录 scale: 1.5, //缩放比例 height: 50, //相对高度 visible: true, //默认显示 animate: true, //上下浮动 lookAt: true, //是否垂直约束 color: 0x1197ff, //默认颜色 } MMSDT.addIcon( dataJson, options); }); function renderDone(){ MMSDT.outLine(['dmxx153','dmxx154','dmxx155']); //默认对叉车沟边 var eventAll = ['dmxx328','dmxx362','dmxx388'] //对场景中包含子网格进行监听 var meshEvent = new MMSDT.mouseChildEvent( eventAll ); //移入场景模型 var onMove = function(name){ if( eventAll.indexOf( name ) > -1 ){ MMSDT.outLine(name); //机械手臂沟边 } } //移出场景模型 var outMove = function(){ MMSDT.outLine(); //移出机械手臂沟边关闭 } //移入设备图标 var onIot = function(icon){ if( icon.type == "7" ){ switch(icon.id) { case 'RBT01': //1号机械臂 MMSDT.outLine('dmxx328'); break; case 'RBT02': //2号机械臂 MMSDT.outLine("dmxx362"); break; case 'RBT03': //3号机械臂 MMSDT.outLine("dmxx388"); break; } } } //移出设备图标 var outIot = function(){ MMSDT.outLine(); //移出机械手臂图标沟边关闭 } MMSDT.mouseMoveEvent( onMove, outMove, onIot, outIot ); } var options = { edgeStrength: 3, //沟边深浅 edgeGlow: 0.1, //光晕 edgeThickness: 0.2, //边缘厚度 pulsePeriod: 0, //闪烁 (1、2、3、4、5...闪烁,数字越大频率越慢) visibleEdgeColor: 0xff9600, //沟边颜色 hiddenEdgeColor: 0x2b0d00, //被挡住的颜色 } MMSDT.outLineStyle( options ); //重新设置沟边风格效果 //自定义对外函数接口------------------------------------------------------------------------ //货架沟边 选择 MMAPI.display = function(num){ switch(num) { case 0: //取消沟边 MMSDT.outLine(); break; case 1: //1号货架 MMSDT.outLine("huojia1"); break; case 2: //2号货架 MMSDT.outLine("huojia2"); break; case 3: //3号货架 MMSDT.outLine("huojia3"); break; case 4: //4号货架 MMSDT.outLine("huojia4"); break; } } //沟边深浅 MMAPI.edgeStrength = function(value){ MMSDT.outLineStyle( { edgeStrength: value } ); } //光晕 MMAPI.edgeGlow = function(value){ MMSDT.outLineStyle( { edgeGlow: value } ); } //边缘厚度 MMAPI.edgeThickness = function(value){ MMSDT.outLineStyle( { edgeThickness: value } ); } //闪烁 (1、2、3、4、5...闪烁,数字越大频率越慢) MMAPI.pulsePeriod = function(value){ MMSDT.outLineStyle( { pulsePeriod: value } ); } //沟边颜色 MMAPI.visibleEdgeColor = function(value){ MMSDT.outLineStyle( { visibleEdgeColor: value } ); } //被挡住的颜色 MMAPI.hiddenEdgeColor = function(value){ MMSDT.outLineStyle( { hiddenEdgeColor: value } ); }

点击查看示例演示 →