VTK初学一,b_PolyVertex_CellArray多个点的绘制
- #ifndef INITIAL_OPENGL
- #define INITIAL_OPENGL
- #include <vtkAutoInit.h>
- VTK_MODULE_INIT(vtkRenderingOpenGL)
- VTK_MODULE_INIT(vtkInteractionStyle)
- #endif
- #include <iostream>
- using namespace std;
- #include "vtkPolyDataMapper.h"
- #include "vtkWin32OpenGLRenderWindow.h"
- #include "vtkRenderWindow.h"
- #include "vtkRenderWindowInteractor.h"
- #include "vtkRenderer.h"
- #include "vtkPoints.h"
- #include "vtkWin32RenderWindowInteractor.h"
- #include "vtkProperty.h"
- #include "vtkFloatArray.h"
- #include "vtkPolyData.h"
- #include "vtkDataSetMapper.h"
- #include "vtkActor2D.h"
- #include "vtkContourFilter.h"
- #include "vtkContourValues.h"
- #include "vtkUnstructuredGrid.h"
- #include "vtkPointData.h"
- #include "vtkPolyVertex.h"
- #include <vtkInteractorStyleTrackballCamera.h>
- #include <vtkCellArray.h>
- void myShow(vtkPolyData* aGrid)
- {
- vtkSmartPointer<vtkPolyDataMapper> aMapper=vtkSmartPointer<vtkPolyDataMapper>::New();
- aMapper->SetInputData(aGrid);
- aMapper->ScalarVisibilityOn();
- vtkSmartPointer<vtkActor> anActor=vtkSmartPointer<vtkActor>::New();
- anActor->SetMapper(aMapper);
- anActor->GetProperty()->SetRepresentationToWireframe();
- anActor->GetProperty()->SetDiffuseColor(1,1,1);
- anActor->GetProperty()->SetLineWidth(10);
- anActor->GetProperty()->SetPointSize(30);
- vtkSmartPointer<vtkRenderer> ren1=vtkSmartPointer<vtkRenderer>::New();
- vtkSmartPointer<vtkRenderWindow> renWin=vtkSmartPointer<vtkRenderWindow>::New();
- ren1->AddActor(anActor);
- ren1->ResetCamera();
- renWin->AddRenderer(ren1);
- renWin->SetSize(512,512);
- vtkSmartPointer<vtkRenderWindowInteractor> iren=vtkSmartPointer<vtkRenderWindowInteractor>::New();
- vtkSmartPointer<vtkInteractorStyleTrackballCamera> style=vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();
- iren->SetRenderWindow(renWin);
- iren->SetInteractorStyle(style);
- iren->Start();
- }
- int main()
- {
- //几何数据
- vtkSmartPointer<vtkPoints> points=vtkSmartPointer<vtkPoints>::New();
- points->SetNumberOfPoints(5);
- points->InsertPoint(0,0,0,0);
- points->InsertPoint(1,0.5,0.5,0);
- points->InsertPoint(2,-0.3,-0.2,0);
- points->InsertPoint(3,0.8,-0.5,0);
- points->InsertPoint(4,1,0.5,0.3);
- //拓扑结构数据
- vtkSmartPointer<vtkPolyVertex> polyVertex=vtkSmartPointer<vtkPolyVertex>::New();
- polyVertex->GetPointIds()->SetNumberOfIds(5);//必须设置Id个数,否则可以编译,不能运行
- polyVertex->GetPointIds()->SetId(0,0);//第一个参数是几何point的ID号,第2个参数是拓扑中的Id号
- polyVertex->GetPointIds()->SetId(1,1);
- polyVertex->GetPointIds()->SetId(2,2);
- polyVertex->GetPointIds()->SetId(3,3);
- polyVertex->GetPointIds()->SetId(4,4);
- //以上数据形成单元数组
- vtkSmartPointer<vtkCellArray> vertexCells=vtkSmartPointer<vtkCellArray>::New();
- vertexCells->InsertNextCell(polyVertex);
- //点的属性数据
- vtkSmartPointer<vtkFloatArray> pointsScalars=vtkSmartPointer<vtkFloatArray>::New();
- pointsScalars->SetNumberOfTuples(5);
- pointsScalars->SetValue(0,0);
- pointsScalars->SetValue(1,1);
- pointsScalars->SetValue(2,0);
- pointsScalars->SetValue(3,0);
- pointsScalars->SetValue(4,0);
- //以上数据组装成PolyData
- vtkSmartPointer<vtkPolyData> polydata=vtkSmartPointer<vtkPolyData>::New();
- polydata->SetPoints(points);
- polydata->SetVerts(vertexCells);
- polydata->GetPointData()->SetScalars(pointsScalars);
- //在窗口中显示
- myShow(polydata);
- return 0;
- }
VTK初学一,b_PolyVertex_CellArray多个点的绘制的更多相关文章
- VTK初学一,c_Line_CellArray线段的CellArray绘制
VTK窗口默认坐标方向: #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE ...
- VTK初学一,a_Vertex图形点的绘制
系统:Win8.1 QT版本:2.4.2,Mingw VTK版本:6.3 2. main.cpp #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #incl ...
- VTK初学一,比较常见的错误2
我的开发环境: 系统:win8.1 QT:5.4.2MinGW版 VTK:6.3 按照教程生成一个球体显示在,Qt的QVTKWidget控件中,出现如下ERROR: ERROR: In D:\VTK6 ...
- VTK初学一,动画加AVI录制终于做出来了
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRe ...
- VTK初学一,vtkDelaunay2D创建球冠曲面
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRend ...
- VTK初学一,比较常见的错误1
错误原因: 通常是在文件头部没有初始化 #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> V ...
- VTK初学一,a Mesh from vtkImageData—球冠
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRend ...
- VTK初学一,a Mesh from vtkImageData
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRend ...
- VTK初学一,Pro文件的配置
1. pro文件的配置 TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG += qt QT += core gui greate ...
随机推荐
- hdu5187 奇怪题
本来很水的,答案就是(2^n)-2,但是写坑了QAQ 因为原题要求答案要mod P,一开始我是这么干的: LL ans=pow_mod(,N,P); ans=(ans-)%P; ) ans=%P; p ...
- zabbix监控系列(3)之zabbix触发器格式配置
前言 今天公司线上环境新添一个监控项,监控 一些日志的是否出现错误,有错误就及时报警,那么问题来了 ,报警必须告诉我们哪个日志有错误,这样才能够快速定位到哪个日志有问题. 配置 zabbix-agen ...
- w3m常用快捷键
H 显示帮助 q 退出,会有提示的 j,k,l,h 移动光标 J/K 向下/向上滚屏 T 打开一个新标签页 Esc-t 打开所有标签页,供你选择,使用jk来上下移动 U ...
- java编程思想-复用类总结
今天继续读<java 编程思想>,读到了复用类一章,看到总结写的很好,现贴上来,给大家分享. 继承和组合都能从现有类型生成新类型.组合一般是将现有类型作为新类型底层实现的一部分来加以复用, ...
- c中三大区的解析
1.栈,堆和静态存储区是 堆和静态存储区是C语言程序常涉及的三个基本内语言程序常涉及的三个基本内存区2.栈区主要用于函数调用的使用3.堆区主要是用于内存的动态申请和归还4.静态存储区用于保存全局变量和 ...
- xfce4 dev tools的一些说明
xfce4 dev tools实际上基本是封装了一些autoconf的宏函数 比如XDT_I18N: AC_DEFUN([XDT_I18N], [ dnl Substitute GETTEXT_PAC ...
- AspectJ基础学习之一简介(转载)
AspectJ基础学习之一简介(转载) 一.为什么写这个系列的博客 Aspectj一个易用的.功能强大的aop编程语言.其官网地址是:http://www.eclipse.org/aspectj/ ...
- 9月26日JavaScript表单验证、正则表达
一.非空验证 trim:去空格(去掉前后的空格),任何字符串都可以用这个方法.写法为:if(v.trim().length==0),表示如果去掉空格后的字符串的长度为0. <body> & ...
- notification的使用
示例: NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); No ...
- FCC上的初级算法题
核心提示:FCC的算法题一共16道.跟之前简单到令人发指的基础题目相比,难度是上了一个台阶.主要涉及初步的字符串,数组等运算.仍然属于基础的基础,官方网站给出的建议完成时间为50小时,超出了之前所有非 ...