当前位置: 首页 > news >正文

VS+QT+OCC创建坐标界面

1、安装并配置好项目后,填写如下代码:

#pragma once#include <Standard_Handle.hxx>
#include <V3d_Viewer.hxx>
#include <OpenGl_GraphicDriver.hxx>
#include <WNT_Window.hxx>
#include <V3d_View.hxx>
#include <AIS_InteractiveContext.hxx>
#include <BRepPrimAPI_MakeBox.hxx>
#include <TopoDs_Shape.hxx>
#include <AIS_Shape.hxx>#include <QtWidgets/QMainWindow>
#include "ui_OCC1.h"
#include <QDebug>class V3d_Viewer;
class V3d_View;
class AIS_InteractiveContext;
class AIS_ViewController;class OCC1 : public QMainWindow
{Q_OBJECTpublic:OCC1(QWidget *parent = nullptr);~OCC1();void paintEvent(QPaintEvent* event);QPaintEngine* paintEngine() const;
private:Ui::OCC1Class ui;Handle(V3d_Viewer) viewer;Handle(V3d_View) view;Handle(WNT_Window) window;Handle(AIS_InteractiveContext) context;
};
#include "OCC1.h"OCC1::OCC1(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);Handle(Aspect_DisplayConnection) hAspect_DisplayConnect = new Aspect_DisplayConnection;Handle(OpenGl_GraphicDriver) driver = new OpenGl_GraphicDriver(hAspect_DisplayConnect);viewer = new V3d_Viewer(driver);view = viewer->CreateView();WId window_handle = (WId)winId();//WId win_handle = winId();window = new WNT_Window((Aspect_Handle)window_handle);view->SetWindow(window);if (!window->IsMapped()){window->Map();//打开窗口}view->SetBackgroundColor(Quantity_NOC_BLACK);view->MustBeResized();view->TriedronDisplay(Aspect_TOTP_LEFT_LOWER, Quantity_NOC_GOLD, 0.08, V3d_ZBUFFER);viewer->SetDefaultLights();setAttribute(Qt::WA_PaintOnScreen);context = new AIS_InteractiveContext(viewer);context->SetDisplayMode(AIS_Shaded, Standard_True);
}OCC1::~OCC1()
{}void OCC1::paintEvent(QPaintEvent* event)
{view->Redraw();
}QPaintEngine* OCC1::paintEngine() const
{return 0;
}
#include "OCC1.h"
#include <QtWidgets/QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);OCC1 w;w.show();return a.exec();
}

2、运行结果:

http://www.lryc.cn/news/370033.html

相关文章:

  • VUE2.7项目配置webpack打包-详细操作步骤
  • Linux系统Docker部署Apache Superset并实现远程访问详细流程
  • Cochrane Library循证医学数据库的介绍及文献下载
  • 冯喜运:6.12今日黄金原油行情还会涨吗?黄金原油独家操作策略
  • VM ubuntu终端使用Host代理的方法
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 破译犯罪时间(100分) - 三语言AC题解(Python/Java/Cpp)
  • 大模型学习之GLM结构
  • C#类库打包支持多个版本的类库
  • 一文介绍暗区突围手游 游戏特色、具体玩法和独特的玩法体验
  • Unity基础(三)3D场景搭建
  • 在Spring Boot中使用Sa-Token实现路径拦截和特定接口放行
  • 【面经总结】Java基础 - 注解
  • Matlab笔记
  • android 编译源码添加日志打印
  • Vue19-key的原理
  • 零一科技Yi-VL 6B视觉大模型环境搭建推理
  • Django面试题
  • Perl语言入门学习
  • Autoformer
  • uniapp录音播放功能
  • ✊构建浏览器工作原理知识体系(网络协议篇)
  • 【AI大模型】Transformers大模型库(八):大模型微调之LoraConfig
  • 8-1RT-Thread消息队列
  • 解除网站IP抓取限制的方法有哪些?
  • “手撕”二叉树的OJ习题
  • Linux Mint 21.3简介
  • C++11 面试题整理
  • 【智能制造-2】焊缝跟踪
  • 优思学院|用ChatGPT快速完成数据分析图表【柏累托图法】
  • [晕事]今天做了件晕事37 extern “C“ 被认为了是外部函数