一、概述
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);
	 
} 
重新生成:

三、结果对比
但是发现了一个问题,原本的cc 是价值不了pcd 文件的,这个功能要加!@!!
















![[个人笔记] vCenter6.7使用自建SSL证书](https://img-blog.csdnimg.cn/38b6d31ece0347c8a15dfb79369f8556.png)



