【发布时间】:2020-04-13 13:09:43
【问题描述】:
如何将图钉上的单击事件添加到 Autodesk forge?在existing extension 中,他使用相机焦点打开内容以供图钉使用。我想点击图钉打开它。
但我手动将 pushpini 添加到模型中,并使用以下代码翻译坐标
var setData = function (event) {
var screenPoint = {
x: event.clientX,
y: event.clientY
};
if (screenPoint) {
var n = normalize(screenPoint);
var dbId = /*_viewer.utilities.getHitPoint*/ getHitDbId(n.x, n.y);
if (dbId == null) return;
}
}
function getHitDbId(x, y) {
y = 1.0 - y;
x = x * 2.0 - 1.0;
y = y * 2.0 - 1.0;
var vpVec = new THREE.Vector3(x, y, 1);
var result = viewer.impl.hitTestViewport(vpVec, false);
console.log(result);
if (result) {
dummyData.push({
icon: Math.round(Math.random() * 3),
x: result.point.x,
y: result.point.y,
z: result.point.z,
});
window.dispatchEvent(new CustomEvent('newData', {
'detail': dummyData
}))
} else {
return
}
return result ? result.dbId : null;
};
function normalize(screenPoint) {
var viewport = viewer.navigation.getScreenViewport();
var n = {
x: (screenPoint.x - viewport.left) / viewport.width,
y: (screenPoint.y - viewport.top) / viewport.height
};
return n;
}
这可能吗?
【问题讨论】:
标签: autodesk-forge