| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 基于QT5与opencascdae7.4的简易模型浏览器 -> 正文阅读 |
|
[游戏开发]基于QT5与opencascdae7.4的简易模型浏览器 |
写这这个博文的目的是记录下使用OCC自带的显示AIS时需要注意的一些事项。本人花了点时间学习了下OCC的AIS,实现了一个简单的模型浏览器功能。主要功能有: 一、step模型装配体显示 ? ? 读取装配体的功能在我前面博客中提到过,具体可以参考前面的文章,参考效果如下: ? 二、视角动画切换 ? 三、显示样式切换 四、拾取、高亮、隐藏 ?相关代码如下: 1.显示样式:Context->SetDisplayMode(AIS_Shaded, Standard_False);(实体模式) Context->DefaultDrawer()->SetFaceBoundaryDraw(true); 2.拾取面、线、点 Context->Activate(AIS_Shape::SelectionMode(TopAbs_ShapeEnum::TopAbs_FACE));(拾取面,其他类似) 3.切换动画 增加一个基于qt动画类QAbstractAnimation的类,将OCC显示切入即可。 class V3dViewCameraAnimation : public QAbstractAnimation { ? ? int duration() const override; ? ? void setCameraStart(const Handle_Graphic3d_Camera& camera); ? ? const QEasingCurve& easingCurve() const; ? ? void configure(const std::function<void(Handle_V3d_View)>& fnViewChange); protected: private: 核心代码: void V3dViewCameraAnimation::configure(const std::function<void(Handle_V3d_View)>& fnViewChange) ? ? const bool wasImmediateUpdateOn = m_view->SetImmediateUpdate(false); void V3dViewCameraAnimation::updateCurrentTime(int currentTime) 以上是实现这些功能的主要核心,在做了几组测试下发现,OCC对STEP的渲染优化还是很不错了,也值得学习下AIS。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/17 4:03:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |