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 } );
}
点击查看示例演示 →
Powered by mms3D