0

我们在浏览整个模型的过程中,有时候我们想把模型有些比较重要的视点保存下来,以便下次可以直接进入对应的视点,同时保存当前快照,BIMFACE是否有这样的api?

陆剑伟 141
2017-09-24 提问
1 个回答
0

var camera1;
var camera2;
var pic1;
var pic2;
var i=0;

//增加Ul标签中的li标签
function addli(){

var ul=document.getElementById("projecthome");
var obj=document.createElement("li");
i=i+1;
if(i>2){
  alert("最多只能添加2次");
  return;
}
if(i==1){
    //获取当前视图
    camera1=viewer3D.getCameraStatus();
    //设置背景颜色
    var colorRed = new Glodon.Web.Graphics.Color(0, 0, 0, 1);
    //生成当前快照
    pic1=viewer3D.createSnapshotAsync(colorRed, function(data) {
    //调整快照
    pic1 = new Image();
    pic1.height=60;
    pic1.width=80;
    pic1.src = data;
    //ul增加图片标签
    ul.appendChild(pic1);
    });
}
else if(i==2){
    camera2=viewer3D.getCameraStatus();
    var colorRed = new Glodon.Web.Graphics.Color(0, 0, 0, 1);
    pic2=viewer3D.createSnapshotAsync(colorRed, function(data) {
    pic2 = new Image();
    pic2.src = data;
    pic2.height=60;
    pic2.width=80;
    ul.appendChild(pic2); 
    });
}
//弹出框提示
var text = window.prompt("请输Label内容","视点"+i);
//li标签增加a标签,同时赋点击事件
obj.innerHTML="<a onclick=setcamera("+i+")>"+text+"</a>";
    //ul增加li标签
    ul.appendChild(obj);

}

//恢复视点
function setcamera(i){

if(i==1){
    viewer3D.setCameraStatus(camera1);
 }
else if(i==2){
    viewer3D.setCameraStatus(camera2);
}

}

可以参考 如何保存或恢复视点
图片描述

撰写答案

你可能感兴趣的

推广链接