Veloview阅读笔记1

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)

你可能感兴趣的:(可视化)