[英]X,Y,Z coordinates of an object in forge viewer
我正在尝试在Autodesk Forge中的单个元素上绘制svg / pointcloud点。 如何获取元素的(x,y,z)坐标。
有没有一种方法可以提取单个对象的位置,以便我们获得世界空间中的位置矢量。
到目前为止我尝试过的是:
我似乎无法理解如何使用frags = viewer.impl.getRenderProxy( viewer.model, fragId )
使用此线程中描述的positions数组
positions = frags.geometry.vb
Autodesk.ADN.Viewing.Extension.MeshData.js为我提供了组成该元素的三角形(网格/碎片)的顶点。
我创建了一个自包含的扩展程序,可以将其添加到查看器中,并说明如何获取组件位置:
检查此仓库和TransformationExplorerExtension
负责提取转换矩阵的代码为:
getFragmentWorldMatrixByNodeId(nodeId) { let result = { fragId: [], matrix: [], }; let viewer = this.viewer; this.tree.enumNodeFragments(nodeId, function (frag) { let fragProxy = viewer.impl.getFragmentProxy(viewer.model, frag); let matrix = new THREE.Matrix4(); fragProxy.getWorldMatrix(matrix); result.fragId.push(frag); result.matrix.push(matrix); }); return result; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.