记录CloudCompare增加新功能

近期由于一个三维点云项目,接触了CloudCompare(后面简称CC),CC很强大,基本点云处理中使用到的功能,它都包含了,省去了项目开发中很多繁琐的基本功能开发,说实话,当前软件开发项目利润不高,公司也不太可能投入很多人力物力去做点云基础算法和功能,向现有的开源软件借个方便成为普遍了。扯远了,CC给我们搭建了很好的平台,但如何去扩展它,也是我们接下来的任务。CC提供了插件开发的方式来扩展整个应用程序功能,但我这里是基于源码结构来新增功能的,本人cmake初级,只会将源码构建成VS C++的工程,各种cmake深入知识点都不了解。CC依赖了很多开源库,有些库是需要在cmake构建时设置相关开关才能加入的,前提是你要有依赖库的lib,include,bin等,而有些依赖库本身就比较复杂,编译困难。。。头大。不过源码还是构建成功。

在VS2015 IDE打开CC源码,找到CloudCompare项目,第一步,新建一个qt窗体test.ui。右键test.ui->属性,在配置属性->常规中,项类型选择“自定义生成工具”,应用后,配置属性下选择自定义生成工具项,在此切换到项目源码其他的*.ui文件,仿照其自定义生成工具中设置的内容,设置test.ui的自定义生成工具,完成设置。然后添加你自己的界面控件及布局。(debug 、release配置基本相同)。

第二步,在项目添加testClass.h和testClass.cpp,加入自己的代码,Q_Object...。

第三步,在项目所在目录下找到“\CloudCompare_autogen.dir”目录,在目录中找到AutogenInfo.cmake文件,打开,将testClass.cpp的完整目录加入到AM_SOURCES 后面,将testClass.h的完整目录加入到AM_HEADERS后面,保存。

第四步,在CloudCompare项目中找到mocs_compilation.cpp文件,在其中加入自动生成的"moc_testClass.cpp"文件引用,编译项目,成功。

 

posted @ 2019-03-01 18:40  深海飞鱼  阅读(736)  评论(0编辑  收藏  举报