当前位置: 首页 > news >正文

Vtk概览1

vtk环境搭建 见(VTK开发环境配置(Visual Studio C++)-详细图文教程-CSDN博客)

在学习vtk图形图像进阶的第二章时,通过vs2022建的控制台程序,编写运行示例2.1 发现 不显示图像。

#include <iostream>
#include<vtkRenderWindow.h>
#include<vtkSmartPointer.h>
#include<vtkRenderWindowInteractor.h>
#include<vtkCylinderSource.h>
#include<vtkPolyDataMapper.h>
#include<vtkRenderer.h>
#include<vtkInteractorStyleTrackballCamera.h>
#include<vtkActor.h>
int main()
{std::cout << "vtk";vtkSmartPointer<vtkCylinderSource> cylinder =vtkSmartPointer<vtkCylinderSource>::New();if (!cylinder) {std::cerr << "Failed to create vtkCylinderSource" << std::endl;return 1;}cylinder->SetHeight(3.0);cylinder->SetRadius(1.0);cylinder->SetResolution(10);vtkSmartPointer<vtkPolyDataMapper> cylinderMapper =vtkSmartPointer<vtkPolyDataMapper>::New();cylinderMapper->SetInputConnection(cylinder->GetOutputPort());vtkSmartPointer<vtkActor> cylinderActor =vtkSmartPointer<vtkActor>::New();cylinderActor->SetMapper(cylinderMapper);vtkSmartPointer<vtkRenderer>   renderer =vtkSmartPointer<vtkRenderer>::New();renderer->AddActor(cylinderActor);renderer->SetBackground(0.1,0.2,0.4);vtkSmartPointer<vtkRenderWindow>   renWin =vtkSmartPointer<vtkRenderWindow>::New();renWin->AddRenderer(renderer);renWin->SetSize(300,300);vtkSmartPointer<vtkRenderWindowInteractor>   iren =vtkSmartPointer<vtkRenderWindowInteractor>::New();iren->SetRenderWindow(renWin);vtkSmartPointer<vtkInteractorStyleTrackballCamera>   style =vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();iren->SetInteractorStyle(style);iren->Initialize();iren->Start();return 0;
}

经过查找资料,发现可能原因是 动态链接库的加载在不同平台上可能有不同的机制和优先级。默认情况下,VTK 可能无法准确找到并加载所需的动态链接库。

所以通过使用 vtkAutoInit.h 和相关的 VTK_MODULE_INIT 宏确保所有必要的 VTK 模块被正确初始化

解决方法

在上面的代码开头添加

#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);

然后可以显示图像了。

本小节知识总结,

vtkCylinderSource生成一个理想化的圆柱体几何模型。

vtkPolyDataMapper渲染多边形几何数据。

vtkActor连接几何数据与渲染场景,并赋予其可视化属性。

vtkRenderWindow 将操作系统和vtk渲染引擎连接到一起。

vtkRenderer负责管理场景的渲染过程。

vtkRenderWindowInteractor 提供独立的响应事件的交互。

vtkInteractorStyleTrackballCamera交互器样式的一种,用户通过控制相机对物体进行旋转,放大,缩小等操作。

 

相关文章:

  • C++ STL map multimap 查找操作详解
  • 友达18.5寸工业液晶屏G185HAN01.104产品参数资料
  • 十三: 神经网络的学习
  • day020-sed和find
  • Python面试1
  • 【修电脑的小记录】打不开某个网站
  • 【备战秋招】C++音视频开发经典面试题整理
  • JAVA面试复习知识点
  • Flutter图片Image、本地图片、程程图片、圆片剪切、圆形图片
  • ceph 剔除 osd
  • 物流配送优化实战:用遗传算法破解选址难题
  • TMS320F28388使用sysconfig配置SCI通信(RS485+FIFO+Modbus)
  • Python训练营打卡 Day37
  • 行为型:责任链模式
  • 认知无线电系统中采用能量检测频谱感知
  • pytorch简单线性回归模型
  • 黑马点评--缓存更新策略及案例实现
  • ubuntu脚本常用命令
  • Halcon 图像预处理②
  • AI时代新词-数字孪生(Digital Twin)
  • 做网站需要知道优化吗/重庆seo招聘
  • asp网站制作成品作业/百度网站推广怎么收费
  • 音乐网站的音乐怎么做/b站黄页推广软件
  • 顺德移动端网站建设/如何做一个网站
  • 优化站点/百度统计app
  • 济南网站的公司哪家好/百度公司简介