c++ mfc程序 屏幕只显示部分内容_BIM案例——铁路桥梁程序的设计与实现(二)...

昨天给大家介绍了桥梁建设的基础知识,那么今天小编继续为大家讲述更深一层的知识内容,让大家更加清楚BIM的技术是如何应用于道路桥梁的程序建设当中的。

关注、加微信、留联系方式

享多重好礼~

46adcdd44d3c5796c7e1b6aa515f87aa.png

一、程序开发角度

BIM程序若能涵盖二维设计模式,可以更方便地与传统二维设计软件进行衔接,减少BIM程序开发工作量及开发难度。

a712a4581c0ab17fa644b29e343dea3b.png


而且二维、三维结合的设计模式,也可以使设计人员在新型的BIM设计环境下,能够利用自己熟悉的传统设计思路来迅速适应程序,从而提高程序应用效率,否则纯三维模式在铁路桥梁勘察设计领域的推广阻力和成本将会较大。本程序采用了二维视图交互设计,及三维视图显示的设计模式。

二、程序主界面

程序框架

b4d9fbcdf87ed221bf493946ffb84532.png

1.MVC框架模式概述

程序以C++ MFC为开发工具,以MVC框架模式开发基于OpenGL的二维、三维视图显示功能。模型- 视图- 控制(MVC,Model-View-Controller)框架是图形用户界面(GUI,Graphic User Interface)程序的一种普遍的设计框架。采用MVC框架模式的优势是使得OpenGL渲染函数的调用从普遍的消息路由中完全脱离开来。2.模型层

e9d64b055eaaf61ec7ac3160bc3bee28.png


模型层是应用程序的核心部分,所有应用程序中的数据和定义应用程序行为的实现都被包含在内。

最重要的是,任何指向视图层和控制层功能都没有被模型层引用,这意味着模型层是完全独立的。它完全无须关心视图层和控制层的行为,从而它只是简单地对视图层和控制层的请求进行加工操作。本程序中模型层负责全部的OpenGL顶点数据管理、顶点缓冲区对象(VBO,Vertex Buffer Object)绘图和图形更新。3.视图层

998aa23e71aa571bf91314c187ec83a4.png

视图层负责根据窗口设备环境创建渲染设备环境,最后将可视化的内容渲染到屏幕之上。视图层不含有指向控制层的引用(与控制层独立)。

只有当控制层发送更新请求时,它才会执行渲染操作。然而,视图层需要有指向模型层的引用,因为它需要从模型层得到顶点、法向量、颜色等数据,这样才能将数据渲染到屏幕上。4.控制层

e7f520182d2454a7528601f421175a61.png

控制层负责创建独立渲染线程,并对用户事件作出最直接的响应,它接受和处理所有的用户在窗体或视口中的操作,如鼠标和键盘输入等。为了处理用户事件,控制层需要访问具体的模型层组件和视图层组件。

f67baeccec210160d05a299d0f0be96d.png

控制层组件通知模型层处理数据,同时告诉视图层更新显示的数据。另外,在本程序中,控制层还负责对用户事件相关的图元数据,如点、线、面、文字等,向OpenGL渲染数据进行转换。

e6ab74cba00d563ab9d88f2b2b024f5a.gif 请点我,惊喜来临辣~

5436b02fc9316014438aa91928730264.png ab8e4a957759a6a1d382054adcffc6c4.png

三、显示功能关键技术

二维视图开发十字靶标相对鼠标的同步定位
交互式设计视图开发中,如何将鼠标在屏幕窗体中的像素坐标(V)转换为视图中的世界坐标(W),是开发图形定位、图形选择的前提。转换公式的关键为计算窗体尺寸与视口所代表的世界坐标尺寸的比例vscale。

d5d087ba965be3b1ae33f23c8c5d5561.png

当渲染视口与窗体边缘完全重合时,当前鼠标所在的视图世界坐标计算公式为:V = W ? vscale,当视口与窗体不重合时,还要计入视口相对窗体的起点偏移量(d),则视图世界坐标计算公式为:V = d + W ? vscale。

# 知识干货

相信大家看完今天的知识讲解。了解了BIM技术对于铁路桥梁的程序与(留下)设计师多么的重要,也知道了BIM技术应用的方面,今天的知识内容希望大家好好消化一下哦,明天同一时间为大家介绍具体的BIM(联系)应用,如果还有什么疑问欢迎大家关注我并且私信我,小编会及时回复大家(方式)哒~

8d954e8c28eb331d56069e1f0afda60d.png dcff7fd6d87dcf645a7e37526e0b926a.png

微信号:zhangziye1997

微博:星曌教育xz

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值