MMSDT.drawRuler()
针对某一个模型,对其绘制长、宽、高的标尺,并显示尺寸。
构造函数
MMSDT.drawRuler( parameter: object, callback:function )
arrayIndex - 整数,需要绘制标尺的模型下标
childNode - 数组内字符串,取子网格名称
color - RGB颜色,线条颜色
font - 字符串,字体文件路径
unit - 字符串,显示的单位
size - 数字,文字大小
scale - 浮点数字,尺寸的比例尺
height - 字符串,横向标尺线及文字所处的位置"top"、"middle"、"bottom"表示上中下
属性
.visible(Boolean)
布尔值,标尺显示或者关闭
.dispose()
销毁该标尺,移除该模型时使用
.sendValue()
手动动态赋值,数组[x,y,z]方向的值
代码示例
var MMS3D_exceptionMesh = []; //需要材质拆分的网格
var MMS3D_instancingMesh = []; //合并实例化网格
//初始化场景
MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh );
//设置第3人称鼠标控制器
controls3.maxPolarAngle = Math.PI*0.5; //向下,最大角度限制
controls3.maxDistance = 1500; //最远距离限制
controls3.screenSpacePanning = false; //右键平移是否上下移动
controls3.enableDamping = true; //是否开启惯性阻尼
controls3.dampingFactor = 0.1; //惯性阻尼系数
controls3.autoRotateSpeed = 2; //自动旋转速度
//使用json文件让场景还原
MMSDT.onloadScene( "models/mms3D_fdj1.json", function(progress){
if( progress == 'done' ){
//加载完成
onloadDone();
}else if( progress == 'ok' ){
//渲染完成
}else{
//显示进度条数字
document.getElementById("loadNum").innerHTML = Math.round( progress )+'%';
}
});
var ruler1, ruler2;
var options1 = {
arrayIndex: 0, //需要绘制标尺的模型下标
childNode: null, //为undefined、null、''、[],都是取整个模型
color: 0xffffff, //线条颜色
font: 'models/helvetiker_bold.typeface.json', //字体
unit: 'm', //单位
size: 12, //文字大小
scale: 0.32, //尺寸的比例尺
height: "middle" //标尺线及文字所处的位置"top"、"middle"、"bottom"
}
var options2 = {
arrayIndex: 0, //需要绘制标尺的模型下标
childNode: ["toming002","toming007","toming008"], //景区扇叶部分,包含名称的子网格
color: 0xff0000, //线条颜色
font: 'models/helvetiker_bold.typeface.json', //字体
unit: 'm', //单位
size: 8, //文字大小
scale: 0.32, //尺寸的比例尺
height: "top" //标尺线及文字所处的位置"top"、"middle"、"bottom"
}
//场景加载完成
function onloadDone(){
ruler1 = new MMSDT.drawRuler( options1 ); //初始化标尺
}
//自定义对外函数接口------------------------------------------------------------------------
//显示或关闭标尺
MMAPI.displayRuler1 = function(Boolean){
ruler1.visible(Boolean);
}
//添加或销毁标尺
MMAPI.dispose2 = function(Boolean){
if( Boolean == true ){
ruler2 = new MMSDT.drawRuler( options2, function(){
ruler2.visible(true); //初始化文字完成后再显示
});
}else{
ruler2.dispose();
}
}
//手动动态赋值
MMAPI.sendText = function(){
ruler1.sendValue([88.88,99.99,66.66]); //[x,y,z]的值
}
点击查看示例演示 →
Powered by mms3D