3.1面板对象图元集
定义了一个可扩充的面板对象图元集,这些对象是面板对象图形属性和操作的抽象表示。当建立一个面板对象或编辑其属性时,用户只需指定面板对象,直接进行绘制、移动、复制、删除等操作,该对象能够自己重新绘制或重画,用户不须关心如何做图。
3.2交互绘图工具类
对于交互反馈,没有集成在面板对象内,而是定义了交互绘图工具类(面板对象类的友元),用于处理施加在面板对象上的交互操作,这样保证了通用性、独立性和可扩充的能力。图4给出了交互绘图工具的类层次关系。
3.3数据的动态图形显示
数据可视化(Data Visualization)就是将数据以特定
的动态图形方式显示在计算机屏幕上,供用户监控之用。在虚拟仪表中,诸如仪表的指针偏转和示波器的波形变化等都反映了数据的动态变化,即面板对象图形在测试过程中具有动画的效果。
虚拟仪表的数据可视化就是构造一个从数据集到面板对象集的映射函数F:DG→V,它需要刻划每一(dg,v)对的可视化语义。这样,对于不同的面板对象可以建立图形相对于其相应的输入变量变化的函数关系。
在应用系统的设计中,当数据变化频繁时,对应的面板对象实时刷新将造成屏幕闪烁。事实上,当数据变化时,面板对象图形的许多单元是固定不变的,变化的只是与数据存在参数映射的部分区域。因此在设计时,构造了用于显示动态数据的绘图函数。
在本系统中,虚拟仪表测试仿真计算机的数据是通过网络从主控计算机传来的。仿真计算机运行播出程序,启动面板对象显示线程,并通过网络不断地获取数据,同时为面板对象分派入数据,实时显示刷新仪表面板画面。
在Windows环境下,我们应用VC++面向对象的类编程技术开发的虚拟仪表可视化通用系统,具有友好的图形用户接口,用户可以方便地设计满足自己需要的仪表系统。同时该系统支持网络运行方式,实现了网络可视化仿真。