VTK —— 二、教程五 - 通过鼠标事件与渲染交互(附完整源码)

代码效果

在这里插入图片描述

本代码编译运行均在如下链接文章生成的库执行成功,若无VTK库则请先参考如下链接编译vtk源码:

     VTK —— 一、Windows10下编译VTK源码,并用Vs2017代码测试(附编译流程、附编译好的库、vtk测试源码)

教程描述

     本示例演示定义了不同的交互样式。

完整源码
#include <vtkActor.h>
#include <vtkCamera.h>
#include <vtkConeSource.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkPolyDataMapper.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>int main(int, char*[])
{// 创建VTK命名颜色vtkNew<vtkNamedColors> colors;// 创建多边形圆锥体vtkNew<vtkConeSource> cone;cone->SetHeight(3.0);		  // 设置圆锥体的高度cone->SetRadius(1.0);		  // 设置圆锥的底半径cone->SetResolution(10);	  // 设置用于表示圆锥的刻面数// 将多边形数据映射到图形基元映射器vtkNew<vtkPolyDataMapper> coneMapper;coneMapper->SetInputConnection(cone->GetOutputPort());	// 设置给定输入端口索引的连接// 创建渲染场景中的实体1(几何体和属性)vtkNew<vtkActor> coneActor;coneActor->SetMapper(coneMapper);											// 设置映射器: 将参与者连接到可视化管道末尾coneActor->GetProperty()->SetColor(colors->GetColor3d("Bisque").GetData());	// 设置模型颜色// 创建渲染器vtkNew<vtkRenderer> ren1;ren1->AddActor(coneActor);											// 在渲染器中添加实体ren1->SetBackground(colors->GetColor3d("MidnightBlue").GetData());	// 设置渲染屏幕背景色// 为渲染器创建绘制窗口vtkNew<vtkRenderWindow> renWin;renWin->AddRenderer(ren1);					// 添加渲染器renWin->SetSize(300, 300);					// 设置渲染窗口的大小renWin->SetWindowName("Tutorial_Step5");	// 设置渲染窗口名称// 创建交互器: 与平台无关的渲染窗互,包括拾取和帧速率控制。vtkNew<vtkRenderWindowInteractor> iren;iren->SetRenderWindow(renWin);				// 设置由此对象控制的渲染窗口。// 创建相机操作器: 相机的交互式操作vtkNew<vtkInteractorStyleTrackballCamera> style;iren->SetInteractorStyle(style);			// 设置交互器的操作模式// 初始化交互器,准备处理事件并将Enabled标志设置为trueiren->Initialize();// 启动交互器事件循环iren->Start();return EXIT_SUCCESS;
}

笔者

笔者 - jxd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/660569.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从Paint 3D入门glTF

Paint 3D Microsoft Paint 3D是微软的一款图像编辑软件&#xff0c;它是传统的Microsoft Paint程序的升级版。 这个新版本的Paint专注于三维设计和创作&#xff0c;使用户可以使用简单的工具创建和编辑三维模型。 Microsoft Paint 3D具有直观的界面和易于使用的工具&#xff0…

[游戏陪玩系统] 陪玩软件APP小程序H5游戏陪玩成品软件源码-线上线下可爆改家政,整理师等功能

简介 随着电竞行业的快速发展&#xff0c;电竞陪玩APP正在逐渐成为用户在休闲娱乐时的首选。为了吸引用户和提高用户体验&#xff0c;电竞陪玩APP开发需要定制一些特色功能&#xff0c;并通过合适的盈利模式来获得收益。本文将为您介绍电竞陪玩APP开发需要定制的特色功能以及常…

微信小程序实现九宫格

微信小程序使用样式实现九宫格布局 使用微信小程序实现九宫格样式&#xff0c;可以直接使用样式进行编写&#xff0c;具体图片如下&#xff1a;1、js代码&#xff1a; Page({/*** 页面的初始数据*/data: {current: 4},// 监听activeClick(e) {let index e.currentTarget.dat…

为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用

本文介绍了某省妇幼健康管理系统的建设和数据库架构优化的过程。原有的数据库架构使用了 StarRocks 作为分析层&#xff0c;但随着业务的发展&#xff0c;这套架构暴露出诸多痛点&#xff0c;不再适应妇幼业务的需求。为解决这些问题&#xff0c;该系统选择了将原有架构中的 St…

Cesium 3dTileset 支持 uv 和 纹理贴图

原理: 使用自定义shader实现uv自动计算 贴图效果: uv效果:

详细说说msvcp120.dll丢失的解决方法,如何有效解决文件丢失问题

用户遇到的问题是"msvcp120.dll"文件丢失&#xff0c;这会导致无法正常运行与C相关的程序。因为"msvcp120.dll"是Visual C Redistributable Package中的一个重要组件&#xff0c;若缺少该文件&#xff0c;系统将无法找到运行所需的功能&#xff0c;从而导致…

CSS @keyframes 动画:颜色变化、背景旋转与放大缩小

在CSS中&#xff0c;keyframes 是一个强大的工具&#xff0c;它允许我们创建复杂的动画效果。今天&#xff0c;我们将一起探索如何使用 keyframes 来实现颜色变化、背景旋转以及放大缩小的动画效果。 动画会在 2 秒内循环播放&#xff0c;并在不同的时间点改变盒子的背景颜色和…

Grafana 添加一台管理服务器

1、修改prometheus.yml 添加新服务器信息 2、重启pro 3、导入node文件 4、启动node 5、检验数据

微信小程序个人中心、我的界面(示例四)

微信小程序个人中心、我的界面&#xff0c;九宫格简单布局&#xff08;示例四&#xff09; 微信小程序个人中心、我的界面&#xff0c;超简洁的九宫格界面布局&#xff0c;代码粘贴即用。更多微信小程序界面示例&#xff0c;请进入我的主页哦&#xff01; 1、js代码 Page({…

FlaUI

FlaUI是一个基于微软UIAutomation技术&#xff08;简称UIA&#xff09;的.NET库&#xff0c;它主要用于对Windows应用程序&#xff08;如Win32、WinForms、WPF、Store Apps等&#xff09;进行自动化UI测试。FlaUI的前身是TestStack.White&#xff0c;由Roemer开发&#xff0c;旨…

2024年十款开源测试开发工具推荐(自动化、性能、混沌测试、造数据、流量复制)

今天为大家奉献一篇测试开发工具集锦干货。在本篇文章中&#xff0c;将给大家推荐10款日常工作中经常用到的测试开发工具神器&#xff0c;涵盖了自动化测试、性能压测、流量复制、混沌测试、造数据等。 1、AutoMeter-API 自动化测试平台 AutoMeter 是一款针对分布式服务&…

IOT-9608I-L 的GPIO应用

目录 概述 1 GPIO接口介绍 2 板卡上操作IO 2.1 查看IO驱动 2.2 使用ECHO操作IO 2.2.1 端口选择 2.2.2 查看IO 2.2.3 echo操作IO 3 C语言实现一个操作IO的案例 3.1 功能介绍 3.2 代码实现 3.3 详细代码 4 测试 测试视频地址&#xff1a; IOT-9608I-L的一个简单测试&a…