openSceneGraphic 删除多个子节点时,应当先储存要删除子节点的序号,然后做降序排列,然后删除。
#include <vector>
#include <algorithm>
//自定义排序函数
bool SortBy(const int v1, const int v2)//注意:本函数的参数的类型一定要与vector中元素的类型一致
{
return v1> v2;//降序
}
//给子节点做降序排列
std::sort(nodeIndexs.begin(), nodeIndexs.end(), SortBy);
//删除重复节点
for (int i = 0; i < nodeIndexs.size(); i++)
{
std::cout << "排序 " << nodeIndexs[i]<<"\n";
glassRoot->removeChild(nodeIndexs[i]);
}