vtk学习笔记 --- 显示label之vtkLabeledDataMapper

这篇博客介绍了在vtk中如何利用vtkLabeledDataMapper显示三维模型的点ID和细胞ID,通过vtkConeSource创建示例,并使用vtkIdFilter和vtkCellCenters生成field data。博主提到了在大量标签显示时性能问题,尤其是在标签数量增加时,渲染速度变慢,但在QT环境下表现更好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用vtk编写一些算法时候,我们需要可视化程序的执行过程,或者能够在图形上看到当前的执行情况,比如,在连接多边形构造矿体的时候,需要检查算法连接的顶点是否正确,这个时候就需要显示点的ID。另外还可能需要显示cell的ID,下面的例子就给出在vtk中如何显示点的ID和cell的ID.

 

这里使用vtkConeSource来演示,程序的最终目的显示Cone的顶点id 和每个面的id。

 

        vtkConeSource cone = new vtkConeSource();
        cone.SetHeight(3.0);
        cone.SetRadius(1.0);
        cone.SetResolution(10);
        
        vtkPolyDataMapper coneMapper = new vtkPolyDataMapper();
        coneMapper.SetInputConnection(cone.GetOutputPort());
        
        vtkActor coneActor = new vtkActor();
        coneActor.SetMapper(coneMapper);
        renderer.AddActor(coneActor);

 

然后,使用vtkIdFilter来给vtkConeSource生成field data并使用vtkLabeledDataMapper来显示:

 

 

        vtkIdFilter ids = new vtkIdFilter();
        ids.SetInputConnection(cone.GetOutputPort());
        ids.PointIdsOn();
        ids.CellIdsOn()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值