Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Autodesk forge 调用model.rayIntersect()之前需要等待什么事件?_Autodesk Forge_Autodesk Viewer - Fatal编程技术网

Autodesk forge 调用model.rayIntersect()之前需要等待什么事件?

Autodesk forge 调用model.rayIntersect()之前需要等待什么事件?,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,在Autodesk Forge viewer中调用model.rayIntersect()时,我注意到返回的交点并不总是反映准确的交点,除非我等待GEOMETRY\u LOADED\u事件 通过检查查看器()的非缩微源代码,我认为基于raydercest()函数中的任何操作,等待GEOMETRY\u LOADED\u事件是不必要的。我的理解是,我们可以简单地从片段中获取查看器中对象的网格数据,这不需要几何体\u加载\u事件。在调用model.rayIntersect()之前,是否还有另一个可能触

在Autodesk Forge viewer中调用
model.rayIntersect()
时,我注意到返回的交点并不总是反映准确的交点,除非我等待
GEOMETRY\u LOADED\u事件

通过检查查看器()的非缩微源代码,我认为基于
raydercest()
函数中的任何操作,等待
GEOMETRY\u LOADED\u事件是不必要的。我的理解是,我们可以简单地从片段中获取查看器中对象的网格数据,这不需要
几何体\u加载\u事件
。在调用
model.rayIntersect()
之前,是否还有另一个可能触发得更快的事件可以等待


我正在以无头查看器的形式在大型模型上执行此交集计算,因此等待
几何体加载事件可能需要相当长的时间,因此我不希望等待它完成。

Forge viewer中的命中测试逻辑非常复杂,可能会使用不同的方法(例如命中测试BVH、命中测试单个网格或检查“ID缓冲区”中的像素),具体取决于您的环境和设置

BVH由查看器在接收到包含所有片段的边界框的“片段列表”后计算(这是一个可能需要一段时间的异步操作),并且ID缓冲区是作为标准渲染管道的一部分生成的,因此,要使其工作,您实际上应该等待加载的
Autodesk.Viewing.GEOMETRY\u事件