一、初始问题
初始问题源自于黑山老妖的通过管道自交多边形转换为体数据时出现空洞问题。
VTK笔记-使用vtkTubeFilter类把一条线扩展成一个管腔_黑山老妖的博客的博客-CSDN博客
最初怀疑是vtktubefilter形成自交管道时内部多边形结构或者法向量朝向出现了问题。
所以第一步使用vtkPolyDataNormals重新计算法向量,发现此方法行不通。所以感觉并不是vtktube出现了问题,故使用vtkAppendPolyData形成两个相邻的多边形来进行实验。转换为体数据结果不出意外的话就会出现意外。效果还是一样的。
所以可以初步判定vtkImageStencilToImage处理相交多边形就会出现相交部分空洞的问题。
二、确认为vtkImageStencil的问题
使用vtkVoxelModeller对相交多边形进行提取,发现提取的轮廓体数据并无问题,所以基本可以排除相交多边形导致的问题。
三、尝试修改未成功
初步定位为vtkImageStencil.cxx源码文件中vtkImageStencilExecute函数的异或判断出了问题,两个多边形相交的位置都为true时就会异或成0,所以加了判断条件修改源码后编译,但是发现并没有什么作用。等待大佬解决。