一、概述
CloudCompare如何进行二次开发?_cloudcompare 二次开发-CSDN博客
开发一个功能,在原始CC的基础上添加一个拓展功能,如下:
二、功能开发
1、修改MainWindow.UI
重点是:要编译,不然在mainwindow.cpp 哪里是看不到myactionclone 的
2、修改mainwindow.h
3、修改mainwindow.cpp
添加信号槽
实现槽函数
/// <summary>
/// 自定义个一个程序 插件
/// </summary>
void MainWindow::doclone()
{if (m_selectedEntities.size()==0){return;}//获取选中对象转为点云 ccPointCloud* m_cloud = ccHObjectCaster::ToPointCloud(m_selectedEntities[0]);//创建一个新的点云 ccPointCloud* clonecloud = new ccPointCloud(m_cloud->getName() + QString("-Clone"));//为克隆对象分配内存 clonecloud->reserve(m_selectedEntities.size());size_t pointSize = m_cloud->size();for (size_t i = 0; i < pointSize; ++i){clonecloud->addPoint(*m_cloud->getPoint(i));}//创建一个文件夹来放点云 ccHObject* CloudGroup = new ccHObject(QString("CloudGroup"));CloudGroup->addChild(clonecloud);m_ccRoot->addElement(CloudGroup);}