osg::3dArray怎么删除里面的点
时间: 2024-03-12 21:49:37 浏览: 50
osg::3dArray是OpenSceneGraph中的一个类,它代表了一个三维数组。如果你想从3dArray中删除一个点,可以通过以下步骤实现:
1. 使用函数find()查找要删除的点,获得它在3dArray中的位置。
2. 使用函数erase()从3dArray中删除该点。
下面是一个示例代码:
```
// 假设3dArray中存储了一些点
osg::Vec3Array* myPoints = new osg::Vec3Array;
myPoints->push_back(osg::Vec3(0.0f, 0.0f, 0.0f));
myPoints->push_back(osg::Vec3(1.0f, 0.0f, 0.0f));
myPoints->push_back(osg::Vec3(0.0f, 1.0f, 0.0f));
// 查找要删除的点
osg::Vec3 pointToRemove(1.0f, 0.0f, 0.0f);
osg::Vec3Array::iterator it = std::find(myPoints->begin(), myPoints->end(), pointToRemove);
// 如果找到了该点,则从3dArray中删除它
if (it != myPoints->end())
{
myPoints->erase(it);
}
```
在这个示例中,我们首先创建了一个3dArray,并在其中存储了三个点。然后,我们使用std::find()函数查找要删除的点,如果找到了该点,则使用erase()函数将其从3dArray中删除。
阅读全文