在vtk中显示标签有好几种方法,前面了解了vtkLabeledDataMapper,现在来了解下vtkLabelPlacementMapper。
在使用vtkLabelPlacementMapper之前,需要先使用vtkPointSetToLabelHierarchy来组织标签数据。首先来看看如何构造标签数据。
首先定义一个vtkStringArray来存放标签名称,同时给这个数组指定名称为labels,在后面需要使用。
vtkStringArray labels = new vtkStringArray();
labels.SetName("labels");
定义点集合,以及cellarray,然后随机生成100个点,以这些点的id值作为标签的值,最后构造一个vtkPolyData,其cell类型为vertex,即显示100个顶点。
vtkPoints points = new vtkPoints();
vtkCellArray verts = new vtkCellArray();
for(int i=0;i<100;i++){
points.InsertNextPoint(math.Random(1,3), math.Random(1,3), math.Random(1,3));
labels.InsertNextValue(String.valueOf(i));
verts.InsertNextCell(1);
verts.InsertCellPoint(i);
}
vtkPolyData polyData = new vtkPolyData();
po