vtk单窗口显示多个源数据代码
来源:互联网 发布:淘宝官方 编辑:程序博客网 时间:2024/05/17 07:27
std::vector<vtkSmartPointer<vtkPolyDataAlgorithm> > geometricObjectSources;geometricObjectSources.push_back(vtkSmartPointer<vtkArrowSource>::New());//箭头geometricObjectSources.push_back(vtkSmartPointer<vtkConeSource>::New());//锥体geometricObjectSources.push_back(vtkSmartPointer<vtkCubeSource>::New());//立方体geometricObjectSources.push_back(vtkSmartPointer<vtkCylinderSource>::New());//缸体geometricObjectSources.push_back(vtkSmartPointer<vtkDiskSource>::New());//转盘geometricObjectSources.push_back(vtkSmartPointer<vtkLineSource>::New());//直线geometricObjectSources.push_back(vtkSmartPointer<vtkRegularPolygonSource>::New());//正多面体geometricObjectSources.push_back(vtkSmartPointer<vtkSphereSource>::New());//球体std::vector<vtkSmartPointer<vtkRenderer> > renderers;std::vector<vtkSmartPointer<vtkPolyDataMapper> > mappers;std::vector<vtkSmartPointer<vtkActor> > actors;std::vector<vtkSmartPointer<vtkTextMapper> > textmappers;std::vector<vtkSmartPointer<vtkActor2D> > textactors;for (unsigned int i = 0; i < geometricObjectSources.size(); i++){geometricObjectSources[i]->Update();mappers.push_back(vtkSmartPointer<vtkPolyDataMapper>::New());mappers[i]->SetInputConnection(geometricObjectSources[i]->GetOutputPort());actors.push_back(vtkSmartPointer<vtkActor>::New());actors[i]->SetMapper(mappers[i]);textmappers.push_back(vtkSmartPointer<vtkTextMapper>::New());textmappers[i]->SetInput(geometricObjectSources[i]->GetClassName());textactors.push_back(vtkSmartPointer<vtkActor2D>::New());textactors[i]->SetMapper(textmappers[i]);textactors[i]->SetPosition(10, 10);}// 设置格网承载形体int gridCols = 3;int gridRows = 3;// 定义渲染范围int rendererSize = 200;vtkSmartPointer<vtkRenderWindow> renderWindow =vtkSmartPointer<vtkRenderWindow>::New();renderWindow->SetSize(rendererSize*gridCols, rendererSize*gridRows);vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =vtkSmartPointer<vtkRenderWindowInteractor>::New();for (double row = 0; row < gridRows; row++){for (double col = 0; col < gridCols; col++){double index = row*gridCols + col;//为每个cell定义渲染器vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();renderer->SetBackground(.1, .2, .3);double viewport[4] = {((col)* rendererSize) / (gridCols * rendererSize),((gridRows - (row + 1)) * rendererSize) / (gridRows * rendererSize),((col + 1) * rendererSize) / (gridCols * rendererSize),((gridRows - (row)) * rendererSize) / (gridRows * rendererSize) };renderer->SetViewport(viewport);if (index < geometricObjectSources.size()){renderer->AddActor(actors[index]);renderer->AddActor(textactors[index]);}renderWindow->AddRenderer(renderer);}}vtkSmartPointer<vtkRenderWindowInteractor> interactor =vtkSmartPointer<vtkRenderWindowInteractor>::New();interactor->SetRenderWindow(renderWindow);renderWindow->Render();interactor->Start();
阅读全文
0 0
- vtk单窗口显示多个源数据代码
- vtk显示属性、窗口以及交互设置
- OpenCV单窗口显示多幅图像的代码
- 数据窗口的单双行显示颜色不同
- vtk学习笔记——利用vtk显示地震数据
- vtk动态显示多边形网格数据
- opencv 单窗口显示多子窗
- ITK、VTK、Qt读取与显示DICOM文件------代码部分
- 子数据窗口代码
- VTK窗口常用快捷键
- [VTK]VTK中的数据表示
- MFC 单文档窗口最大化显示
- cvSetImageROI单窗口显示多幅单通道图片
- MFC单文档窗口最大化显示
- PB 数据窗口分页显示
- vtk 显示分割线
- vtk显示jpg图像
- vtk三维立体显示
- Markdown 绘制 UML 图 -- PlantUML + Gravizo
- 获取markdown密钥
- IIC介绍(四)之从机介绍
- 【数据结构之线性表总结】
- 数据结构实验之链表三:链表的逆置
- vtk单窗口显示多个源数据代码
- jsp三大指令
- bzoj 1731/hdu 3592(差分约束)
- javascript之数据类型、数据、变量、内存、对象、函数
- SpringMVC总结以及在面试中的一些问题
- 破解Navicat for MySQL
- BZOJ 2809 [Apio2012]dispatching dfs序+左偏树
- 关于markdown window10系统安装报错
- OkHttp深入理解(2)RetryAndFollowUpInterceptor