autodesk-forge - 获取查看器中给定元素旁边的元素
问题描述
在我们的 Forge 应用程序中,我们需要选择与给定元素相邻的所有元素。示例:用户选择了一个地板元素,这会导致选择相邻的基础、墙壁等。当我说相邻时,我的意思是相交的元素和表面相互接触的元素。
我们试图通过比较所有元素的边界框来实现这一点,但它只适用于边界框的大小几乎与元素本身的大小相同的简单几何体(立方体),并且元素边缘沿 (x,y,z) 定向。(未旋转)。附图说明了复杂楼板的边界框(红色)如何效果不佳,因为它会导致选择与楼板明显分开的基础和柱子(绿色)。
所以我要问的是:
- 是否有用于获取相邻元素的内置函数?如果不;
- 如何获得定义元素轮廓的点?我对渲染的 WebGL 三角形不感兴趣,只对原始点(例如,一个立方体 8 个点)感兴趣。
问候, 托瑞斯
解决方案
这是一个非常具体的要求,不幸的是,没有用于如此复杂计算的内置函数。根据您正在处理的几何形状,这可能是一项非常昂贵的操作,您需要自己实现该自定义逻辑。
最终算法可能需要几个步骤,第一个是您提到的快速边界框检查,然后是更精细的分析。您可以查看该文章以了解如何检索给定元素的顶点:Accessing mesh information with the Forge Viewer
推荐阅读
- python - IBM Stats 订阅主题始终返回原因 2033:失败:MQRC_NO_MSG_AVAILABLE
- reactjs - 如何使用 su user -c 结合 npm start --prefix?
- r - 在 R 中绘制时间序列的难度
- java - JComboBox 背景直到悬停在它上面才被绘制
- haskell - 哈斯克尔。如何使用 GADT 实现自定义 monad 转换器?
- javascript - Javascript:访问数据链接属性
- git - 在推送更改之前 git rebase 后丢失更改
- angular - 布尔值在客户端上以角度返回未定义
- python - 通过 shapefile 剪切 NetCDF 文件
- azure - 如何将 Application Insights 添加到现有 QnAMaker 应用程序