c++ - 如何查找一个点是否在 VTK 中二维非结构化网格定义的轮廓内?

标签 c++ vtk

在我当前的问题中,我希望能够检测一个点是否在 2D vtkUnstructuredGrid 内。

我已经尝试通过制作 vtkGeometryFilter 并在我的 unstructuredGrid 上使用它来使用 vtkSelectEnclosedPoints。但是,vtkSelectEnclosedPoints 类旨在检查点是否位于曲面内,而不是轮廓内。因此,当我尝试在 2D 中应用它时,我发现我的点在我的网格之外,即使我知道它们位于网格内部。这是因为类本身在 3D 中工作。 是否有类似的类或方法可用于检测点何时位于 2D vtkUnstructuredGrid 内?代码能够在打开网格之前知道网格的尺寸(这是用户输入)。

最佳答案

所以“轮廓”vtkUnstructuredGrid 中的所有点都形成一个多边形?在这种情况下,您可以使用 vtkPolygon 类,参见示例 here .如果您的非结构化网格是多个多边形,那么我仍然会使用相同的东西,只是遍历所有多边形。

关于c++ - 如何查找一个点是否在 VTK 中二维非结构化网格定义的轮廓内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45437964/

相关文章:

c++ - 安卓NDK : undefined reference

C++ 流程图/GUI 设计器

c++ - DirectX 屏幕捕获和输出为视频

c++ - 在 C/C++ 中#include 头文件

c++ - 我应该删除运算符赋值函数中的原点指针吗?

c# - VTK ActiViz 将对象重置为原始 View

c++ - 如何修改 vtkPolydata 中单元格中的点?

c++ - 从IT编程到机器控制编程

c++ - 为什么这个元组到引用元组 (std::tie) 的转换有效?

c++ - 为什么不能使用Sphere缩放字形?