如何将输入(文本框、滑块等)添加到 Autodesk Forge 查看器中
How can I add inputs (textbox, slider etc.) into autodesk forge viewer
我们可以使用 transform tool. I want to display the current x, y, z coordinates of the selected object in an input and change it from there. But I couldn't add any input. I found examples 移动对象,但找不到源代码。
您可以找到源代码here。
这是我同事关于 creating component transformations in forge viewer 的博客的一部分。
我在 html 中放置了我想要的输入。在运动函数中,我根据它们接收到的值动态更新它们。
<!--TRANSFORM DIV- index.html-->
<div id="MyControls" class="adsk control">
<label>X</label>
<input id="XAxis" type="text" />
<label>Y</label>
<input id="YAxis" type="text" />
<label>Z</label>
<input id="ZAxis" type="text" />
</div>
// transform.js
var AxisArray = ["XAxis", "YAxis", "ZAxis"];
AxisArray.forEach(function (axis) {
document.getElementById(axis).addEventListener("change", function () {
positionChangeInputs();
});
});
function positionChangeInputs() {
for (var fragId in _selectedFragProxyMap) {
var fragProxy = _selectedFragProxyMap[fragId];
var position = new THREE.Vector3(
fragProxy.position.x = document.getElementById("XAxis").value,
fragProxy.position.y = document.getElementById("YAxis").value,
fragProxy.position.z = document.getElementById("ZAxis").value);
fragProxy.position = position;
fragProxy.updateAnimTransform();
}
viewer.impl.sceneUpdated(true);
}
我们可以使用 transform tool. I want to display the current x, y, z coordinates of the selected object in an input and change it from there. But I couldn't add any input. I found examples 移动对象,但找不到源代码。
您可以找到源代码here。
这是我同事关于 creating component transformations in forge viewer 的博客的一部分。
我在 html 中放置了我想要的输入。在运动函数中,我根据它们接收到的值动态更新它们。
<!--TRANSFORM DIV- index.html-->
<div id="MyControls" class="adsk control">
<label>X</label>
<input id="XAxis" type="text" />
<label>Y</label>
<input id="YAxis" type="text" />
<label>Z</label>
<input id="ZAxis" type="text" />
</div>
// transform.js
var AxisArray = ["XAxis", "YAxis", "ZAxis"];
AxisArray.forEach(function (axis) {
document.getElementById(axis).addEventListener("change", function () {
positionChangeInputs();
});
});
function positionChangeInputs() {
for (var fragId in _selectedFragProxyMap) {
var fragProxy = _selectedFragProxyMap[fragId];
var position = new THREE.Vector3(
fragProxy.position.x = document.getElementById("XAxis").value,
fragProxy.position.y = document.getElementById("YAxis").value,
fragProxy.position.z = document.getElementById("ZAxis").value);
fragProxy.position = position;
fragProxy.updateAnimTransform();
}
viewer.impl.sceneUpdated(true);
}