Meshlab源码初探
作者:徐景周
一、概述
MeshLab是一个开源的、便携式的、开扩展的系统,用于处理和编辑非结构化的三角网格。这个系统的目的是对在3D扫描生成的的非结构模型处理时起到帮助,提供一组工具用于编辑、清理、修复、检查、渲染和转换这种格式的网格。Meshlab和VCGlib都是意大利国立研究院的作品。
二、软件环境
- VS2010
- Meshlab 1.3.3
- QT 5.2.1 (建议安装到D盘,目录默认。如:D:\Qt\Qt5.2.1)
- QT VS Add-in 1.2.3
下载:https://www.qt.io/download-open-source/
三、 注意事项
3.1 源码编译
http://wenku.baidu.com/link?url=AJ0j28wFNoXiOhWcoHaLP6W7Uxgapjy6IXut73eR1o6omACaQK8q6Z3mCb1moDnL9Dp9-jCGn5-QSWFxPi5y3lHd3gOZlxSpJwxCk9wAckO
3.2 filter_csg插件源码中,引用了源码中没有的第三方库。例如:mpir.lib
3.3 decorate_background插件源码中,图片丢失:”/textures/cubemaps/uffizi.jpg”.
3.4 filter_clean插件源码中存在着文件,依赖于另一个插件源码:edit_pickpoints.
四、 源码分析
4.1 meshlab
主目录。采用QT开发的的网格处理系统,它的核心使用了vcglib。下面是meshlab主要的源码目录结构:
4.1.1 common
基础文件目录。主要包括插件参数/脚本解析,插件接口定义,插件管理,mesh管理基类等。
4.1.2 external
第三方源码库目录。因为vcglib和meshlab中文件会使用到它们,所以在编译meshlab工程时,需先编译这个目录中工程(将生成lib文件复制到distrib目录),编译细节可参见注意事顶段落。