爱折腾的程序员-二三维框架设计经验之谈

背景: 

记得在两年前吧,由于项目需要, 所以基于WPF写了一套二维设计绘图软件, 又由于后续需要有三维功能, 在整合考虑了opengl,tookit3d,vtk等现成的三维开源引擎后,选择了vtk.Net. 当时这两个项目是分开的. 后来项目完结之后. 而且由于两者有很多共通之处,就想着将二维绘图和三维这块整合到一起. 那么随之而来的就要面对下面几个要点问题:

1.要整合到一起,就面临:要从底层写一套几何数据结构来,完成二三维的数据统一. 

2.项目框架的升级和移植,就要将之前的几十个模块升级到最新的架构.net8.0;

那么面对上述遇到的两个关键点,我是如何解决的呢?

解决第一个问题:

由于接触vtk时间比较久了,自然对vtk的底层数据架构就比较熟悉, 所以就将数据结构设计成下面的样子:  

关键核心思想:为了兼顾软件设计交互,Tree,Scene,Property,log,交互等,下面是我设计的核心构想,

整个软件就是一个世界Scene, 每个世界的元素都是一个演员XPloteActor, 而在这个世界中有一颗记录整个世界元素的树Tree, 每个Tree上的果实,都有自己的特殊属性XPloteItemProperty. 而Log却按照时间记录着每次发生的事情!

上面的思想,实际上也是unreal等游戏引擎的思路,只不过为了更契合行业软件需要,做了一些改变!

解决第二个问题中,框架升级中的一个核心技巧,帮你快速升级编译:

在.net程序升级中,时常面临升级完成了,但是一编译就各种错误

解决办法:

1.大家单独打开这个项目,然后编译一下

2.大家右键点击: 打开 在终端打开选项, 然后在窗口中输入: dotnet restore 命令,有奇效

以上就是要分享的内容.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值