Qt&Vtk-027-RGrid

简介: Qt&Vtk-027-RGrid

image.png摘要

文章目录


1 官方示例展示


今天还是搬运代码,争取吧能搬运的都先搬运一下,今天搬运官方RGrid代码,官方实例如下image.png

#ifndef RGRID_H
#define RGRID_H
#include <QWidget>
#include "QVTKOpenGLWidget.h"               //新版本,旧版QVTKWidget
#include "vtkAutoInit.h"
#include "vtkActor.h"
#include "vtkCamera.h"
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkNamedColors.h"
#include "vtkPolyDataMapper.h"
#include "vtkProperty.h"
#include "vtkRectilinearGrid.h"
#include "vtkRectilinearGridGeometryFilter.h"
#include "vtkFloatArray.h"
#include "array"
namespace Ui {
class RGrid;
}
class RGrid : public QWidget
{
    Q_OBJECT
public:
    explicit RGrid(QWidget *parent = 0);
    ~RGrid();
private:
    Ui::RGrid *ui;
    vtkNew<vtkNamedColors> colors;
    //数据直接操作不来吧
    std::array<double, 47> x = {
        {-1.22396,  -1.17188,  -1.11979,  -1.06771,  -1.01562,  -0.963542,
         -0.911458, -0.859375, -0.807292, -0.755208, -0.703125, -0.651042,
         -0.598958, -0.546875, -0.494792, -0.442708, -0.390625, -0.338542,
         -0.286458, -0.234375, -0.182292, -0.130209, -0.078125, -0.026042,
         0.0260415, 0.078125,  0.130208,  0.182291,  0.234375,  0.286458,
         0.338542,  0.390625,  0.442708,  0.494792,  0.546875,  0.598958,
         0.651042,  0.703125,  0.755208,  0.807292,  0.859375,  0.911458,
         0.963542,  1.01562,   1.06771,   1.11979,   1.17188}};
    std::array<double, 33> y = {
        {-1.25,    -1.17188,  -1.09375, -1.01562,  -0.9375,  -0.859375,
         -0.78125, -0.703125, -0.625,   -0.546875, -0.46875, -0.390625,
         -0.3125,  -0.234375, -0.15625, -0.078125, 0,        0.078125,
         0.15625,  0.234375,  0.3125,   0.390625,  0.46875,  0.546875,
         0.625,    0.703125,  0.78125,  0.859375,  0.9375,   1.01562,
         1.09375,  1.17188,   1.25}};
    std::array<double, 44> z = {{0,   0.1,  0.2, 0.3,  0.4, 0.5,  0.6, 0.7, 0.75,
                                 0.8, 0.9,  1,   1.1,  1.2, 1.3,  1.4, 1.5, 1.6,
                                 1.7, 1.75, 1.8, 1.9,  2,   2.1,  2.2, 2.3, 2.4,
                                 2.5, 2.6,  2.7, 2.75, 2.8, 2.9,  3,   3.1, 3.2,
                                 3.3, 3.4,  3.5, 3.6,  3.7, 3.75, 3.8, 3.9}};
    vtkNew<vtkFloatArray> xCoords,yCoords,zCoords;
    vtkNew<vtkRectilinearGrid> rgrid;
    vtkNew<vtkRectilinearGridGeometryFilter> plane;
    vtkNew<vtkPolyDataMapper> mapper;
    vtkNew<vtkActor> actor;
};
#endif // RGRID_H

2.2 rgrid.cpp


#include "rgrid.h"
#include "ui_rgrid.h"
RGrid::RGrid(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::RGrid)
{
    ui->setupUi(this);
    for(auto&& i : x)
        xCoords->InsertNextValue(i);
    for(auto&& i : y)
        yCoords->InsertNextValue(i);
    for(auto&& i : z)
        zCoords->InsertNextValue(i);
    rgrid->SetDimensions(int(x.size()),int(y.size()),int(z.size()));
    rgrid->SetXCoordinates(xCoords);
    rgrid->SetYCoordinates(yCoords);
    rgrid->SetZCoordinates(zCoords);
    plane->SetInputData(rgrid);
    plane->SetExtent(0,46,16,16,0,43);
    mapper->SetInputConnection(plane->GetOutputPort());
    actor->SetMapper(mapper);
    actor->GetProperty()->SetRepresentationToWireframe();
    actor->GetProperty()->SetColor(colors->GetColor3d("red").GetData());
    vtkRenderer *render =  vtkRenderer::New();
    render->AddActor(actor);
    ui->widget->GetRenderWindow()->AddRenderer(render);
}
RGrid::~RGrid()
{
    delete ui;
}

image.pngimage.png

目录
相关文章
手机网站支付quit_url参数详解
一、quit_url参数说明   quit_url参数是手机网站支付用于在H5页面收银台中添加返回按钮的,但是该参数只有在支付的时候唤起H5收银台才会生效,对于唤起支付宝钱包支付是不生效的。 二、传参以及调用示例   传值代码示例: AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.
3266 0
|
7月前
|
安全 搜索推荐 数据建模
2026阿里云最新SSL证书价格参考:免费版申请流程与收费版最新活动价格
为网站部署SSL证书实现HTTPS加密是构建安全基石的首要步骤。阿里云数字证书管理服务提供一站式SSL证书解决方案,涵盖从免费测试到企业级高安全认证的全系列产品。SSL证书可加密数据、认证身份、满足合规要求、提升搜索引擎排名并避免浏览器警告。阿里云提供零成本启航的免费SSL证书申请服务,适用于个人网站、开发测试等场景。同时,2026年阿里云推出付费SSL证书优惠活动,新用户可享6折起,新老用户同享8折优惠,最低95元起,提供全面的安全保障和增值服务。
|
安全 应用服务中间件 网络安全
https安全证书如何申请 https证书申请流程及费用
  随着谷歌、百度等主流浏览器大力支持鼓励网站安装SSL证书进行https加密,保障网站安全,网站安装https证书已经成为一种趋势。那么,https安全证书如何申请?申请https证书需要什么?https证书申请多少钱?      一、什么是https证书?     https证书也就是SSL证书,网站通过申请SSL证书将http协议升级为https加密协议,搭建加密传输、身份认证的网络安全通道。
6759 0
|
7月前
|
消息中间件 关系型数据库 MySQL
CDC是什么?一文带大家全面了解CDC
CDC(变更数据捕获)是实时感知数据库INSERT/UPDATE/DELETE操作的核心技术,绕过应用层直读事务日志(如MySQL Binlog、PG WAL),实现精准、低侵入、全量+增量一体化同步。广泛应用于实时数仓、缓存更新、微服务协同与审计日志等场景。
|
7月前
|
消息中间件 人工智能 Java
AI 原生应用开源开发者沙龙·上海站精彩回顾 & PPT 下载
近日,AI 原生应用开源开发者沙龙·上海站圆满落幕。本场活动吸引了 120+ 名技术从业者深度参与,聚焦 AI 原生应用架构领域的开源技术与落地实践, 围绕 AgentScope Java 1.0 发布、HiMarket、Higress、LoongSuite、RocketMQ 等议题展开深度分享,并设置了动手实操环节。
|
9月前
|
存储 弹性计算 容灾
云服务器配置怎么选择?2026年阿里云服务器新手选购与操作指南
对于阿里云服务器新手而言,选购的核心逻辑是 “匹配需求、控制成本、简化操作”,无需盲目追求高配置,重点关注 “购买路径选择、核心参数匹配、基础环境适配” 三大维度。以下结合实操经验与最新信息,梳理从选购到基础操作的全流程,帮助新手快速选到符合需求的服务器。
|
监控 API 数据处理
全网最全小红书商品详情API:电商助力
本文介绍了小红书商品详情API在电商行业中的重要性,包括提升用户体验、增强商家竞争力及推动行业发展。同时探讨了通过API接口和编程实现(如Python)进行实时数据获取的方法,并结合案例分享了从数据获取到分析优化的完整实践流程,助力电商平台提升效率与竞争力。
全网最全小红书商品详情API:电商助力
|
数据采集 人工智能 安全
接入DeepSeek的云盒子AI知识库,欢迎内测!
云盒子AI智能知识库以其开放性和灵活性著称,目前正内测接入DeepSeek-R1。此次升级延续了云盒子的开放理念,为企业提供灵活选择,支持按需定制和自由适配。DeepSeek的加入拓展了知识库的能力边界,满足不同行业需求,提升了文档利用与知识获取的智能化水平。云盒子通过专利数据采集技术、深度解析、权限隔离和持续学习能力,确保高效、安全的知识管理。适用于单文档问答、企业内部知识管理、客户服务支持、教育与培训及医疗单位等多种场景,为用户带来全新体验。
791 1
|
缓存 Shell Go
dockerfile介绍与使用
dockerfile介绍与使用
431 1
|
存储 JavaScript 前端开发
使用JavaScript实现复杂功能:一个完整的电商网站搜索功能
使用JavaScript实现复杂功能:一个完整的电商网站搜索功能

热门文章

最新文章