1. 使用vtk提供的格式转换方法 以XML格式为例: vtk库中支持多种格式的读写转换,比如利用XML格式,可以将vtkPolyData格式序列化为string类型,直接使用vtk库中的 vtkXMLPolyDataWriter 方法进行序列化 ,以及 vtkXMLPolyDataReader 方法解序列化。 示例: // 读vtkPolyDat…
1. 避免创建过多中间变量 过多的中间变量不利于代码的可读性,还会增加内存的使用,而且可能导致额外的计算开销。 将用于同一种情况的变量统一管理,可以使用一种通用的变量来代替多个变量。 2. 函数中习惯使用引用传参而不是返回值赋值 常有的一种情况是,需要使用函数进行计算或处理数据,并通过其返回值获得结果。 对于简单的计算或处理,直接使用返回值返回结果…
使用QT中QVTKOpenGLNativeWidget搭配VTK中vtkGenericOpenGLRenderWindow是目前(VTK版本在9.0之上)最简单最好用的方法 QVTKOpenGLNativeWidget可以理解为QT中单独为VTK设计的载体控件,但只适用于VTK9.0及以上版本,QVTKOpenGLNativeWidget继承于QO…
1. VTK更新数据但窗口不更新 问题:在对窗口内的数据进行更新后,VTK窗口不会立即更新,需要鼠标等交互后才会更新。 解决办法:对数据更新后,对VTK窗口也要使用Render()渲染更新。 2. vtkRenderWindow渲染窗口报错 问题:在对vtkRenderWindow对象使用Render()渲染更新时会出现程序假死、或报内存溢出等错误…
最近,在把Visual Studio2019完全更新到最新Visual Studio2022后,原使用的vcpkg无法正常安装包,会报如下与Visual Studio 2022相关的错误: error: in triplet x64-windows-mixed: Unable to find a valid Visual Studio instan…
最近自己重配VTK环境时,才发现在缺少初始化语句时会导致在VTK环境和代码正确的情况下,不能正常输出,即不显示窗口、模型等,就如同代码被跳过了一样。 在包含头文件处添加以下代码: #include "vtkAutoInit.h" VTK_MODULE_INIT(vtkRenderingOpenGL2) VTK_MODULE_IN…
个人记录防忘,无营养 常用: 快捷键 功能 CTRL + K + C 注释选定内容 (Comment) CTRL + K + U 取消选定注释内容 (UnComment) ... ... 全部: 注:“、”表示释放前一个按钮后再快速按下一个按钮 1. 窗口相关 编号 快捷键 功能 1 CTRL + W、W 浏览器窗口 2 CTRL + W、S 解决…
个人记录防忘,无营养 注意:“、”表示释放前一个按键再立即按后一个按键,比如Ctrl + E、0代表按住Ctrl不放再按E,释放E后立即按0 常用: 快捷键 功能 Ctrl + R 运行工程 Ctrl + E、0 删除新建的分栏 Ctrl + E、1 删除所有分栏 Ctrl + E、2 上下分栏 Ctrl + E、3 左右分栏 Ctrl + I(i…
点云下采样是通过一定规则对原点云数据进行再采样,减少点云个数,降低点云稀疏程度,减小点云数据大小。 1. 体素下采样(Voxel Down Sample) std::shared_ptr<PointCloud> VoxelDownSample (double voxel_size) const; voxel_size为体素(体积元素)的…
1.演示 配置文件和步骤在后面,先看成品,分别是QWidget和QML的代码编写界面: 2. 主题配置文件 下载链接:QtCreator _theme_VS_dark.xml 也可以自己新建一个xml文件,然后把内容复制进去,内容放在文件末尾附录了。 3. Qt Creator配置步骤 进入配置首选项 在文本编辑器的主题处导入我们的xml文件 Qt…