VTK Learning Thirteen - VTK Label Three

Description

使用vtkLabeledDataMapper显示属性标签。相关类vtkIdFiltervtkCellCenters

Code

#include<vtkRenderWindow.h>
#include<vtkSmartPointer.h>
#include<vtkPoints.h>
#include<vtkMath.h>
#include<vtkPolyData.h>
#include<vtkCellArray.h>
#include<vtkVertex.h>
#include<vtkPolyDataMapper.h>
#include<vtkActor.h>
#include<vtkRenderWindowInteractor.h>
#include<vtkRenderer.h>
#include<vtkProperty.h>
#include<vtkNamedColors.h>
#include<vtkStringArray.h>
#include<vtkPointData.h>
#include<vtkTextProperty.h>
#include<vtkIdFilter.h>
#include<vtkLabeledDataMapper.h>
#include<vtkActor2D.h>int main(){vtkSmartPointer<vtkPoints> ps = vtkSmartPointer<vtkPoints>::New();unsigned int GridSize = 10;vtkSmartPointer<vtkStringArray>names = vtkSmartPointer<vtkStringArray>::New();names->SetName("names");int count = 0;for ( int x = 0; x < GridSize; x++){for ( int y = 0; y < GridSize; y++){ps->InsertNextPoint(x, y, vtkMath::Random(-.25, .25));names->InsertNextValue("T"+ std::to_string(count++));}}vtkSmartPointer<vtkVertex> vertex =vtkSmartPointer<vtkVertex>::New();vertex->GetPointIds()->SetNumberOfIds(ps->GetNumberOfPoints());for (int i = 0; i<ps->GetNumberOfPoints(); i++) {vertex->GetPointIds()->SetId(i, i);}vtkSmartPointer<vtkCellArray> vertices =vtkSmartPointer<vtkCellArray>::New();vertices->InsertNextCell(vertex);// Create a polydata to store everything invtkSmartPointer<vtkPolyData> polydata =vtkSmartPointer<vtkPolyData>::New();// Add the points to the datasetpolydata->SetPoints(ps);polydata->SetVerts(vertices);polydata->GetPointData()->AddArray(names);vtkSmartPointer<vtkNamedColors> colors = vtkSmartPointer<vtkNamedColors>::New();vtkSmartPointer<vtkPolyDataMapper> pointMapper = vtkSmartPointer<vtkPolyDataMapper>::New();pointMapper->SetInputData(polydata);vtkSmartPointer<vtkActor> pointActor = vtkSmartPointer<vtkActor>::New();pointActor->GetProperty()->SetColor(1, 0, 0);pointActor->GetProperty()->SetPointSize(5);pointActor->SetMapper(pointMapper);//vtkNew<vtkIdFilter> ids;//ids->SetInputData(polydata);//ids->FieldDataOn();//ids->Update();vtkSmartPointer<vtkLabeledDataMapper> labelMapper = vtkSmartPointer<vtkLabeledDataMapper>::New();labelMapper->SetInputData(polydata);labelMapper->SetFieldDataName("names");labelMapper->SetLabelModeToLabelFieldData();// labelMapper->GetLabelTextProperty()->SetColor(0, 0, 0);labelMapper->GetLabelTextProperty()->SetLineOffset(5);vtkSmartPointer<vtkActor2D> txActor = vtkSmartPointer<vtkActor2D>::New();txActor->SetMapper(labelMapper);vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New();renderWindow->AddRenderer(renderer);vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =vtkSmartPointer<vtkRenderWindowInteractor>::New();renderWindowInteractor->SetRenderWindow(renderWindow);renderer->AddActor(pointActor);renderer->AddActor(txActor);renderer->SetBackground(colors->GetColor3d("Mint").GetData());renderWindow->Render();renderWindowInteractor->Initialize();renderWindowInteractor->Start();return 0;
}

CMakeLists.txt


CMAKE_MINIMUM_REQUIRED(VERSION 3.3 FATAL_ERROR)
PROJECT(Text)
FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
ADD_EXECUTABLE(Text Text.cxx)
TARGET_LINK_LIBRARIES(Text  ${VTK_LIBRARIES})

Result

VTK Learning Thirteen - VTK Label Three相关推荐

  1. VTK笔记-了解VTK

    最近,重新学习了VTK相关内容,网上资料质量参差不齐,自己从多处搜集资料,整理记录之: VTK简介 VTK,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图 ...

  2. VTK:检查VTK的版本用法实战

    VTK:检查VTK的版本用法实战 程序输出 程序完整源代码 程序输出 Source version: vtk version 9.1.0 Major Version : 9 Minor Version ...

  3. 31套VTK3D图像体绘制/VTK光线投射法/VTK三维重建程序源码

    31套VTK3D图像体绘制/VTK光线投射法/VTK三维重建程序源码 1.基于VTK的3D图像体绘制(实现了以VTK为基础的3D图像重建) 2.基于VTK的人头骨3D图像(用表面重建的方法.vs200 ...

  4. [VTK] Python 使用 VTK 绘制平面

    1. 使用 VTK 绘制平面 Python 使用 VTK 绘制平面 2. 代码 import vtk# 创建一个平面 planeSource = vtk.vtkPlaneSource() planeS ...

  5. Learning with Noisy Label

    Learning with Noisy Label 学习记录总结 1.1 阅读背景 1.2 理论基础类 1.2.1 paper: understanding deep learning require ...

  6. “No module named ‘vtk.util‘;‘vtk‘ is not a package”问题完美解决

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 一.问题 二.根本原因 三.解决办法 一.问题 目前,尝试着通过python读取医学三维图像nii格式,运行代码, ...

  7. Learning Image Conditioned Label Space for Multilabel Classification

    论文相关内容 本文中解决多标记图像分类问题的方法: 该工作解决了多标签图像分类的问题.受深卷积神经网络(CNNs)在单标签视觉语义嵌入方面取得的巨大成功启发,我们利用这些模型对多标签图像进行扩展.具体 ...

  8. python机械臂仿真_使用VTK与Python实现机械臂三维模型可视化

    三维可视化系统的建立依赖于三维图形平台, 如 OpenGL.VTK.OGRE.OSG等, 传统的方法多采用OpenGL进行底层编程,即对其特有的函数进行定量操作, 需要开发人员熟悉相关函数, 从而造成 ...

  9. VTK与Python实现机械臂三维模型可视化详解

    三维可视化系统的建立依赖于三维图形平台, 如 OpenGL.VTK.OGRE.OSG等, 传统的方法多采用OpenGL进行底层编程,即对其特有的函数进行定量操作, 需要开发人员熟悉相关函数, 从而造成 ...

最新文章

  1. Amoeba实现mysql主从读写分离
  2. yield( )函数的使用
  3. 每日一皮:史上最直观的单向循环链表,还不懂算我输!
  4. Java线程中wait、await、sleep、yield、join用法总结
  5. JS读取id和name的操作
  6. Python - 虚拟环境
  7. CSS去除按钮激活的高亮边框(Button的点击出现黑色外边框的取消)
  8. python---Matplotlib简单用法
  9. Linux服务器CPU飙升排查
  10. W681310RG编解码器芯片Nuvoton新唐科技
  11. 《Java解惑》系列——01表达式之谜——谜题09:半斤
  12. Creo建模(持续更新)
  13. 洛谷P2805 [NOI2009] 植物大战僵尸
  14. linux-文件和目录
  15. 无人便利店代理合作——从智能行业风口分析无人便利店前景
  16. 气动高压球阀行业现状调研及趋势分析报告
  17. Ubuntu卸载软件
  18. android的发音功能实现,Android开发之文本内容自动朗读功能实现方法
  19. 【人工智能】国产开源大模型 baichuan-7B 百川聊天 BaiChat 快速开始上手实战效果实测 —— 希望 baichuan-7B 再打磨打磨吧
  20. java类成员和实例成员,面向对象Java实验:实验二 类封装,实例成员与类成员,包...

热门文章

  1. 软件实施工程师面试总结
  2. 你可知,图像处理的回眸女郎是何方神圣?
  3. 完美世界预告2021中期业绩:近三年游戏年复合增长约20%
  4. 广工计算机学院绩点,广工平均学分绩点计算器的教程
  5. 来自国外高级Java架构师的采访总结
  6. mysql的配置中主机地址怎么填_连接到mysql主机数据库配置命令-mysql主机地址
  7. tcp连接之半连接攻击和全连接攻击总结
  8. oracle rank 语法_Oracle排名函数(Rank)实例详解
  9. iNFTnews丨Web3正吸引着全球顶尖人才的目光
  10. 【论文阅读】Spatio-Temporal Graph Convolutional Networks:...Traffic Forecasting[时空图卷积网络:用于交通预测的深度学习框架](1)