下面的代码显示了如何删除vtkIdList的尾部元素,由于vtkIdList的DeleteId删除的是所有id值相同的,所以我们通过SetNumberOfIds实现。
实现的结果如下:
5 elements:
0 : 10
1 : 11
2 : 12
3 : 13
4 : 14
remove 2 elements:
0 : 10
1 : 11
2 : 12
insert another 3 elements:
0 : 10
1 : 11
2 : 12
3 : 15
4 : 16
5 : 17
请按任意键继续. . .
源码如下:
#include "stdafx.h"
#include "vtkIdList.h"
void printIdList(vtkIdList * ids)
{
for (int i=0;i<ids->GetNumberOfIds();i++)
{
printf("%d : %d /n",i,ids->GetId(i));
}
}
int _tmain(int argc, _TCHAR* argv[])
{
vtkIdList * ids = vtkIdList::New();
ids->InsertNextId(10);
ids->InsertNextId(11);
ids->InsertNextId(12);
ids->InsertNextId(13);
ids->InsertNextId(14);
printf("5 elements:/n");
printIdList(ids);
printf("/nremove 2 elements:/n");
ids->SetNumberOfIds(ids->GetNumberOfIds() - 2);
printIdList(ids);
printf("/ninsert another 3 elements: /n");
ids->InsertNextId(15);
ids->InsertNextId(16);
ids->InsertNextId(17);
printIdList(ids);
return 0;
}