2026.1.7随笔:实习第十三天(优化之前的模块,处理results文件,学习VTK是干啥的)
主要是优化了一下生成vtk失败的逻辑,然后删掉了两个冗余的类。
之后就是.h文件的头文件包含问题,删掉一些在datamanager里面没有用到的头文件,能用前置声明就尽量用前置声明
然后mt就让我添加一个结果查看节点,只有一个按钮,作用就是先把resouce目录下的result.dat文件移动到当前工作目录下的result目录下,然后创建一个一维数组把最后一列声压值存进去,之后应该就是渲染到网格上
mt原话:
在头文件包含这块,我们头文件里如果没有用到的类,就尽量不要引入,如果源文件里需要用到,就在源文件去包含。还有就是能尽量使用前置声明的,我们尽量使用前置声明,但是像基类这种头文件是必须包含完整声明的,不能使用class XXX,有些容器QMap等或者别的类有时候也是必须使用include,其他不必要的我们就尽量使用前置声明。
减少编译时间:在大型项目中,如果每个文件都包含了所有的类和头文件,编译时间可能会显著增加。使用前置声明可以减少头文件的依赖性,从而降低了重新编译的需要。
解决循环依赖:如果两个类相互引用,即彼此的头文件中都包含了对方的定义,这将导致编译错误。使用前置声明可以打破循环依赖,只在需要的地方包含头文件。
接口设计:在接口设计中,您可能希望隐藏实现细节并仅在接口中使用前置声明,以便提供更简洁的接口。
mt原话:
在最后一个节点那里添加一个结果查看,然后里面组件就只做一个按钮,按钮的功能是从
Resouce底下先将result.txt移动到当前工作目录下的result目录下,然后解析这个文件里的的声压值,存储到一个数组里,这里前三列就是mesh.txt上的网格点坐标,是一一对应的,结果我这里我们只需要拿到它点上的物理量数据就可以了,你先做这个,至于说怎么渲染,后面我再给你说
下午mt先让我把网格文件解析出来的数据先放到一个成员变量里面,然后让我看了一下VTK渲染都用到了哪些类,看了一下他们自己封装的VTK类,然后mt又给了我两个链接,让我去学习一下VTK是干啥的

拷贝结果文件,读取声压数据函数:
