目标:根据开源CC-IO插件,通过assimp库,使得cloudcompare支持更多格式加载。
目前新加入的格式,在CC中仍存在bug,只是记录一下添加过程防止遗忘。
目前仅可以将添加的格式读取进cloudcompare,但进行缩放移动等操作时,模型会在显示框内变为透明,放大缩小窗口后会恢复,目前正在寻找bug原因。
1.准备工作
下载cloudcompare源码,以及IO插件,将IO插件放入cc源码的plugins文件夹下。并在插件的extern文件夹下放入assimp源码(如果可以直接gitclone下插件则不用此步)。
2.修改插件CMakeLists
仿照插件填写如下,插件支持的是COLLADA glTF IFC三种格式。
根据添加格式(需要在Assimp包含列表)在下方添加,如下图想添加3ds格式则写为ASSIMP_BUILD_3DS_IMPORTER。注意,具体名字需要去assimp源码ImporterRegistry.cpp中寻找。
3.添加源码
已有文件格式如下。
按照上述格式建立新代码。
随后,在MeshIO.cpp中,包含自己新建头文件并修改代码如下。
4.编译
在编译时,将此插件设置编译开启即可。