VTK 实例58:三角剖分(表面重建)


1 #include <vtkAutoInit.h> 2 VTK_MODULE_INIT(vtkRenderingOpenGL2); 3 VTK_MODULE_INIT(vtkRenderingFreeType); 4 VTK_MODULE_INIT(vtkInteractionStyle); 5 6 #include <vtkSmartPointer.h> 7 #include <vtkProperty.h> 8 #include <vtkPoints.h> 9 #include <vtkPolyData.h> 10 #include <vtkPointData.h> 11 #include <vtkDelaunay2D.h> 12 #include <vtkMath.h> 13 #include <vtkPolyDataMapper.h> 14 #include <vtkActor.h> 15 #include <vtkRenderWindoh> 16 #include <vtkRenderer.h> 17 #include <vtkRenderWindowInteractor.h> 18 #include <vtkVertexGlyphFilter.h> 19 20 int main(int, char *[]) 21 31 } 32 33 vtkSmartPointer<vtkPolyData> polydata = 34 vtkSmartPointer<vtkPolyData>::New(); 35 polydata>SetPoints(points); 36 37 vtkSmartPointer<vtkDelaunay2D> delaunay = 38 vtkSmartPointer<vtkDelaunay2D>::New(); 39 delaunay>SetInputData(polydata); 40 delaunay>Update(); 41 42 vtkSmartPointer<vtkVertexGlyphFilter> glyphFilter = 43 vtkSmartPointer<vtkVertexGlyphFilter>::New(); 44 glyphFilter>SetInputData(polydata); 45 glyphFilter>Update(); 46 47 vtkSmartPointer<vtkPolyDataMapper> pointsMapper = 48 vtkSmartPointer<vtkPolyDataMapper>::New(); 49 pointsMapper>SetInputData(glyphFilter>GetOutput()); 50 51 vtkSmartPointer<vtkActor> pointsActor = 52 vtkSmartPointer<vtkActor>::New(); 53 pointsActor>SetMapper(pointsMapper); 54 pointsActor>GetProperty()>SetPointSize(3); 55 pointsActor>GetProperty()>SetColor(1,0,0); 56 57 vtkSmartPointer<vtkPolyDataMapper> triangulatedMapper = 58 vtkSmartPointer<vtkPolyDataMapper>::New(); 59 triangulatedMapper>SetInputData(delaunay>GetOutput()); 60 61 vtkSmartPointer<vtkActor> triangulatedActor = 62 vtkSmartPointer<vtkActor>::New(); triangulatedActor>SetMapper(triangulatedMapper); 64 65 vtkSmartPointer<vtkRenderer> renderer = 66 vtkSmartPointer<vtkRenderer>::New(); 67 renderer>AddActor(pointsActor); 68 renderer>AddActor(triangulatedActor); 69 renderer>SetBackground(1.0, 1.0, 1.0); 70 71 vtkSmartPointer<vtkRenderWindow> renderWindow = 72 vtkSmartPointer<vtkRenderWindow>::New(); 73 renderWindow>AddRenderer(renderer); 74 75 vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = 76 vtkSmartPointer<vtkRenderWindowInteractor>::New(); 77 renderWindowInteractor>SetRenderWindow(renderWindow); 78 79 renderWindow>SetSize(640, 320); 80 renderWindow>Render(); 81 renderWindow>SetWindowName("PolyDataDelaunay2D"); 82 renderWindow>Render(); 83 84 renderWindowInteractor>Start(); 85 86 return EXIT_SUCCESS; 87 }



上一篇:VTK 实例67:体绘制裁剪

下一篇:ITK 实例1 PNG图像进行二维线性映射


VTK
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图