Veloview阅读笔记


前言

研究Veloview代码的时候,发现它需要很多额外的环境支撑。
下面就写一些介绍。


pcap

  • 需要的pcap版本是1.4.Mac/Linux可以安装libpcap。Windows可以安装Winpcap。Winpcap包括了libpcap和一些windows特定的驱动程序。由于winpcap只提供Visual Studio项目文件,而这些文件可能已经过时了,所以superbuild不会尝试编译winpcap。作为替代,我们会使用一个git项目,它有一些头文件和预编译的.lib、.dll文件。

  • pcap就是一个抓包库。这个库给抓包系统提供了一个高层次的接口。libpcap的和WinPcap的提供了很多的数据包捕获和过滤引擎的开放源码和商业网络工具,包括协议分析器( 数据包嗅探器 ), 网络监控 , 网络入侵检测系统 ,交通发电机和网络测试。


Boost

  • 需要的版本是1.50。在这里,Boost是用来进行网络间的多线程通信及其同步。在该项目中,我们使用了Boost的thread和asio库。
  • Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。

Qt

  • 需要的Qt版本是4.8。Qt是用于提供跨平台支持(Windows,Mac和Linux—)窗口和菜单的用户界面元素的桌面小工具库。
  • Qt是一个跨平台的C++应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器.
  • 经过多年发展,Qt不但拥有了完善的C++图形库,而且近年来的版本逐渐集成了数据库、OpenGL库、多媒体库、网络、脚本库、XML库、WebKit库等等,其核心库也加入了进程间通信、多线程等模块,极大的丰富了Qt开发大规模复杂跨平台应用程序的能力,真正意义上实现了其研发宗旨“Code Less; Create More; Deploy Anywhere.”。
  • Qt的图形用户界面的基础是QWidget。Qt中所有类型的GUI组件如按钮、标签、工具栏等都派生自QWidget,而QWidget本身则为QObject的子类。Widget负责接收鼠标,键盘和来自窗口系统的其他事件,并描绘了自身显示在屏幕上。每一个GUI组件都是一个widget,widget还可以作为容器,在其内包含其他Widget。QWidget不是一个抽象类。并且可以被放置在一个已存在的用户界面中;若是Widget没有指定父Widget,当它显示时就是一个独立的视窗、或是一个顶层widget。QWidget显示能力包含了透明化及Double-Buffering。Qt提供一种托管机制,当Widget于创建时指定父对象,就可把自己的生命周期交给上层对象管理,当上层对象被释放时,自己也被释放。确保对象不再使用时都会被删除。

Python

  • 版本是2.7。在Veloview应用中,Python应用使用了libpyton库。Veloview的核心功能是用C++库实现的。而这些库的封装是使用VTK的python封装工具封装的。

PythonQt

  • PythonQt使用一个特定的sha1 来进行git版的提交.PythonQt是用来构造Qt应用程序的。PythonQt支持Qt对象和VTK对象的派生类型封装。
  • PythonQt是一个动态的Python用于结合Qt框架 。 它提供了一个简单的方法来嵌入Python脚本语言到C++ Qt应用程序。PythonQt的重点是Python嵌入到现有的C ++应用程序,而不是完全写入整个应用程序中。

VTK 和ParaView

  • 需要的VTK版本是6.0,ParaView版本是4.0。Paraview版本库中包含了VTK。因此,superbuild只需要确认和建立ParaView来满足这两个(支撑)依赖。通过特定git sha1来更新版本。最近的更新,添加了一些对Python控制台的支持和PythonQtPlugin(for ParaView)。PythonQtPlugin是一个小的插件,它初始化PythonQt库,使之可以在ParaView Python 控制台中运行。
  • Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,2000多个类,还包含有几个转换界面,因此也可以自由的通过Java,Tcl/Tk和Python各种语言使用vtk。
  • Paraview是一个开源的,多平台应用程序,旨在可视化不同大小的数据集。 该项目的目标是开发能够支持分布式计算模型来处理大型数据集的一个开放源代码和多平台的可视化应用程序。 它有一个开放,灵活,直观的用户界面。 此外,Paraview是建立在基于开放标准的可扩展的架构。 Paraview运行在分布式和共享内存并行以及单处理器系统,并已在Windows,Linux,Mac OS X中,IBM的蓝色基因,Cray公司XT3和各种Unix工作站和集群成功地测试。 Paraview使用可视化工具包作为数据处理和渲染引擎,具有使用Qt跨平台应用程序框架编写的用户界面。

CMake

  • 需要的cmake版本是2.8.8
  • CMake是个开源的跨平台自动化建构系统,它用配置文件控制建构过程(build process)的方式和Unix的Make相似,只是CMake的配置文件取名为CmakeLists.txt。Cmake并不直接建构出最终的软件,而是产生标准的建构文件(如Unix的Makefile或Windows Visual C++的projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake和SCons等其他类似系统的区别之处。CMake可以编译源代码、制做程序库、产生适配器(wrapper)、还可以用任意的顺序建构可执行文件。CMake支持in-place建构(二进文件和源代码在同一个目录树中)和out-of-place建构(二进文件在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进文件。CMake也支持静态与动态程序库的建构。
  • “CMake”这个名字是”cross platform make”的缩写。虽然名字中含有”make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高级。

参考:

1. 官方文档
2. [Boost百科](http://baike.baidu.com/link?url=yJ58Sy2wZpOdVBOZm2GnkaM7e-qGoqg0bQDfmG5oPe7QOFu_ATRQkb8S6BPvVI7potny1op6f3AKDY_SDDRLOWIzi5dY-SxOl2na5bD121S)
3. [Qt wiki](https://zh.wikipedia.org/wiki/Qt)
4. [PythonQt](http://pythonqt.sourceforge.net/)
5. [VTK](http://baike.baidu.com/link?url=jfBu0BPn5fI8_gEZe8wwCUhLMtWTKfBcnLhgWVNEO0kHpU6tCQx-wV686oTc61pjOVrRj9e52iQkhcnUQqixf)
6. [Paraview](http://www.paraview.org/Wiki/ParaView)

Veloview阅读笔记1相关推荐

  1. trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer

    一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...

  2. VoxelNet阅读笔记

    作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记

  3. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  4. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  5. Mina源码阅读笔记(一)-整体解读

    2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...

  6. “CoreCLR is now Open Source”阅读笔记

    英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...

  7. QCon 2015 阅读笔记 - 团队建设

    QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...

  8. 05《软件需求模式》阅读笔记

    剩下的两个阅读笔记写第二部分.各类需求模式,共八个领域和它的需求模式,这一次写前四个. 基础需求模式,它是所有种类的系统都可能需要的一些东西.系统间接口需求模式使用系统间接口需求模式定义被定义的系统和 ...

  9. [置顶] Linux协议栈代码阅读笔记(一)

    Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...

最新文章

  1. pico park无法连接至远程服务器,picopark联机失败怎么办 picopark联机进不去问题解决方法...
  2. NET 知识体系结构
  3. opengl 深度详解_一步步学OpenGL(23) -《阴影贴图1》
  4. 个人笔记 vue npm redis
  5. 银联支付h5返回商户的地址是post的吗?_php实现银联商务公众号+服务窗支付
  6. Linux基础之tr与重定向管道
  7. 【三维激光扫描】第四章:点云数据处理
  8. 联想服务器查看运行状态,服务器硬件批量监控工具
  9. 做一个有批判性思维的程序员!
  10. 阿里面试真题!《阿里云技术面试红宝书》!赶紧保存下载!
  11. Heartbeat简介
  12. 大数据、物联网、云计算
  13. AWD线下攻防平台搭建
  14. 2018年日常小计汇总
  15. YOLOv6: A Single-Stage Object Detection Framework for IndustrialApplications
  16. css 动画 呼吸 呼吸灯 效果
  17. 中软国际万人基地项目落户高新区软件新城(组图)
  18. 60GHz通信标准简介
  19. 今天处理了一个问题开机提示任务管理器及资源管理器已停止
  20. 淘宝官方订单详情、交易、商品、物流、插旗接口说明

热门文章

  1. python翻译中文读法_Python如何将中文翻译成拼音?,又,一个,奇葩,要求,是,转,的...
  2. 《高效的项目和团队》
  3. 服务器重装系统用友u6,64系统装U6我用win7 64位旗舰版的系统,安装用
  4. JumpServer(堡垒机)开源版本图文详解
  5. [译] 细节是产品设计的重中之重
  6. CentOS安装QEMU(试验成功且简单的方法)
  7. 天载配资总结指数很健康,现在新高
  8. 解决印象笔记无法搜索到对应标题或内容笔记的问题
  9. ThreadLocal深析
  10. python之函数深析