在vtk中,显示样式的显示,是通过vtkProperty来控制的,这里介绍三种基本的属性设置方式,
点方式,网格方式和面方式,
这里以 头像三角网格的显示为例介绍其显示。其设置方法为

actor->GetProperty()->SetRepresentationToPoints()

actor->GetProperty()->SetRepresentationToWireframe()

actor->GetProperty()->SetRepresentationToSurface()


#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkProperty.h"
#include "vtkInteractorStyleTrackballCamera.h"
#include "vtkSphereSource.h"
#include "vtkPoints.h"
#include "vtkPolyVertex.h"
#include "vtkUnstructuredGrid.h"
#include "vtkDataSetMapper.h"
#include "vtkCamera.h"
#include "vtkDecimatePro.h"
#include "vtkPolyDataReader.h"
#include "vtkSmoothPolyDataFilter.h"
#include "vtkProperty.h"
#include "vtkPolyDataMapper.h"
#include "vtkPolyDataNormals.h"int main(int argc, char* argv[])
{vtkRenderer *ren=vtkRenderer::New();vtkPolyDataReader *reader = vtkPolyDataReader::New() ;reader->SetFileName("venus.vtk");       /*读取网格数据文件*/vtkDecimatePro *deci = vtkDecimatePro::New();    //进行精简deci->SetInputConnection(reader->GetOutputPort());deci->SetTargetReduction(0.9);deci->PreserveTopologyOn();//设置优化vtkSmoothPolyDataFilter *smoother= vtkSmoothPolyDataFilter::New();smoother->SetInputConnection(deci->GetOutputPort());smoother->SetNumberOfIterations(50);vtkPolyDataNormals *normals= vtkPolyDataNormals::New();normals->SetInputConnection(smoother->GetOutputPort());normals->FlipNormalsOn();vtkPolyDataMapper *map1 = vtkPolyDataMapper::New();map1->SetInput(normals->GetOutput());vtkActor *actor1 = vtkActor::New();actor1->SetMapper(map1);actor1->GetProperty()->SetColor(1.0000, 0, 0);  //设定曲面背面颜色map1->ScalarVisibilityOff();actor1->GetProperty()->SetRepresentationToWireframe();/*设定网格显示方式*/vtkProperty *back_prop=vtkProperty::New();     //新建属性,设定曲面前面颜色back_prop->SetDiffuseColor(1,1,0);actor1->SetBackfaceProperty(back_prop);ren->AddActor(actor1);ren->SetBackground(0.6, 0.8, 0.8);          //设定背景色vtkRenderWindow* win=vtkRenderWindow::New();win->AddRenderer(ren);win->SetSize(400,400);//建立交互窗口,设定交互方式vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();iren->SetRenderWindow(win);vtkInteractorStyleTrackballCamera *style =vtkInteractorStyleTrackballCamera::New();iren->SetInteractorStyle(style);   iren->Start();ren->Delete();win->Delete();iren->Delete();return 0;
}

网格数据,显示效果如下:

如果要以点集或者面显示方式显示,只需要用下面其中一段代码替换第47行即可

actor1->GetProperty()->SetRepresentationToPoints();/设定点显示方式/

actor1->GetProperty()->SetRepresentationToSurface();/设定面显示方式/

面方式显示效果如下:

vtk的属性设置,首先要明确设置谁的属性,找到该对象所在的vtkActor对象actor,然后通过actor设置属性,

设置透明度为0.4

actor->GetProperty()->SetOpacity(0.4);

设置对象颜色

actor->GetProperty()->SetColor(double, double, double);

对象边界线宽设置

actor->GetProperty()->SetLineWidth(float);

vtk 显示效果设置相关推荐

  1. paraview vtk文件乱码_如何在ParaView中为一系列传统VTK文件设置自定义时间步长值?...

    我有一个legacy VTK files的序列,例如:file_0.vtk,file_1.vtk,file_2.vtk,我可以在ParaView中打开它作为文件_ .. vtk的时间序列(descri ...

  2. Visual Studio的sln工程设置VTK、ITK项目

    Visual Studio的sln工程设置VTK.ITK项目 最近在学习使用VTK和ITK,使用Visual Studio新建Qt项目时发现项目不是使用过去使用的CMake组织,而是使用的Visual ...

  3. Linux下VTK、ITK的安装及运行 转载

    Linux下VTK.ITK的安装及运行  转载 (2011-08-01 19:42:10) 转载▼ 标签: it   1.安装VTK (1)在www.cmake.org下载cmake-2.4.6.ta ...

  4. Linux下编译vtk的java版本,Ubuntu 16.04 编译VTK7.1

    编译过程总共分为三步: 第1步:准备编译环境 第2步:cmake生成工程 第3步:编译安装 第1步:准备编译环境 Ubuntu在编译VTK7.1之前需要安装三个软件包:Qt5,X11,OpenGL,C ...

  5. vtk环境搭建(windowsXP/win7,vtk6.0.0+cmake2.8+vs2010)

    1. 安装vs2010(默认方式) 2. 安装cmake2.8(默认方式) 3. 新建文件夹作为vtk文件根目录(例如"E:\vtk6.0"),解压vtk-6.0.0.zip到根目 ...

  6. VS2010主题设置及插件推荐

    本文主要写了个人使用 VS2010 的一些配置及实用插件,从而打造一个符合个人风格的开发环境. 基础设置 安装 Visual Assist X 在 VS2010 中若不安装 Visual Assist ...

  7. android paint 线宽_Paint setStrokeWidth方法:设置空心线宽

    标签: setStrokeWidth方法:设置空心线宽 [功能说明]该方法用于设置画笔的空心线宽.该方法在矩形.圆形等图形上有明显的效果. [基本语法]public void setStrokeWid ...

  8. Android 字体设置

    Android 对中文字体支持很不好~~ 需要加入相应的字体库 (1)创建布局Layout //创建线性布局LinearLayout linearLayout=newLinearLayout(this ...

  9. Python vtk学习(1)

    Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学.图像处理和可视化.Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有 ...

最新文章

  1. js 点击最后一个 和倒数第二个_精选一组趣知识;最后一个节目是压轴还是压台...
  2. eclipse中不能找到dubbo.xsd解决方法
  3. IDEA 集成Lombok 插件-配置注解处理器
  4. 设置activity不可返回
  5. php如何打出的正方形行列,javascript实现输出指定行数正方形图案的方法
  6. pycharm中windows找不到chrome解决办法
  7. 热传递物理模型matlab,简单传热学计算机分析MatlabPDE二维不稳态焊接热传导求解.PPT...
  8. 实验2-4-3 求平方根序列前N项和 (C语言)
  9. linux及windows文件共享
  10. 关于 Maven 的插件maven-war-plugin
  11. 用计算机写高中数学程序框图,画“程序框图”,高中数学最实用基本技能之一...
  12. python识别火车票二维码_python实现12306查询火车票
  13. 【基础知识】Dom基础
  14. 大疆云台如何使用华为mate20pro_mate20pro 进阶功能吐槽和分析
  15. JavaWeb利用cookie记住账号
  16. senseTime,FaceU人脸识别技术
  17. CSS3 rgb and rgba(透明色)的使用
  18. 一杯1CUP:区块链科技与投证生态加持的福鼎一杯与Chain++
  19. 隆重推荐:大明王朝1566
  20. 大学生HTML个人网页作业作品:基于html css实现围棋网页(带设计报告4800字)

热门文章

  1. kdj指标主要看哪个值_kdj主要看哪条线?kdj指标看哪个值。
  2. 脑机接口系列课程(二) SSVEP介绍及相关软件的安装、实验范式的搭建
  3. 【二叉树的前序、中序、后序遍历的python写法】借助栈的实现,效率媲美递归~
  4. WordNet发展概况
  5. python爬虫登录网站_主流网站 Python 爬虫模拟登陆方法汇总
  6. FAQ:Docker和K8s部署常见问题汇总(持续更新)
  7. 如何查看谷歌浏览器中保存的密码
  8. 数据检索---ElasticSerach
  9. 男子利用爬虫删公司数据被捕、欧洲零售巨头被勒索2.4亿|11月9日全球网络安全热点
  10. springmvc(四) springmvc的数据校验的实现