传感器仿真平台——UI绘制模块(二)

这一章讲的是UI绘制模块



该模块的作用是将实验对象绘制出来,它可能是目标、传感器等等,由于事先并不知道会有哪些物体,也无法事先定义好某个对象该怎么画,以我懒人的性格,得了,就抛给用的人吧~喝前摇一摇,大家自己画自己。

具体设计如下图:

这个模块主要包括两个部分。

第一个是一个接口,IDrawSelf定义了一个方法,叫做DrawSelf(画自己?),任何使用UI绘制模块的类都需要对该接口进行实现,某个类自己画出自己。

DrawBoard是一个自定义控件类,它通过ReDraw方法接收一系列的(知道怎么画自己的)对象,把他们画出来。



UI绘制模块只负责显示,可以使实验更加具有直观性,但其他的,不归它管。这也是设计的一种思想吧。(什么思想来着?)

传感器仿真平台——UI绘制模块(二)

时间: 2024-11-06 14:47:40

传感器仿真平台——UI绘制模块(二)的相关文章

传感器仿真平台——数据生成模块(三)

数据生成模块有下面这样一种情况: 对于不同的传感器仿真实验,所使用的数据类型,数据数量不一样. 如实验一是进行最大覆盖率实验,则他需要的数据格式可能是如下所示: 1 Class Sensor 2 { 3 public int x; 4 public int y; 5 public double direction; //方向 6 public double sweep;//扇形大小 7 } 实验二进行的是信号强度实验,则他可能还需要一个用来作为覆盖物的目标,如下: 1 Class Target

传感器仿真平台——平台与算法接口(五)

传感器仿真平台希望做的是简化传感器仿真时,对于前台窗口.参数管理.UI绘制和数据收集等方面的操作,使得使用者有更多的时间去关心算法的实现而非其他繁杂琐事.所以说平台与算法的接口是重点.写的好,表示框架的通用性就好,不然等于是废了. 定义如上图,设置一个Method接口,他需要使用算法必须的配置参数表和回调函数作为参数初始化. process表示仿真实验的运行,这里设定输入参数为实验所需的传感器的参数. 这里或许会有疑问,数据运行结果怎么给出呢?请看回调函数,Callback其实是一个函数指针,实

传感器仿真平台——实验环境配置(四)

实验环境配置,最初的想法是这样: 要有一个类,专门管理各种各样的实验环境参数,如场地长.宽等,为了方便起见,可以在该类的构造函数中进行文件读取,将外部xml作为配置文件加载各类参数.这样的话,使用的时候就可以如下这么做: Config config = new Config();//这个是我说的环境配置管理类 var width = config.width; 但是对于框架来说,这个方法看似好用,实际上却很难做到,为什么?参数不确定呀,不同的实验有不同种类的参数,实验一的参数是长.宽.实验二的是

传感器仿真平台——多线程与单步(六)

这个模块并没有被包括到整个平台框架中去,而是以工具的形式被放在一边.不过该模块的加入可以极大的提高仿真实验的直观性.(权当是熟悉多线程了,哈哈!) 仿真平台想要实现多线程运行和单步,并且希望结构尽量简单.这里需要说明,单步不仅仅是使用Thread.Stop()将线程中断,而是在某一次步骤执行完时非暴力的让其停止下来. 如上图所示,MutiThreadHelper需要加载数据,包括环境配置数据(Config).实验数据(Hashtable)等,接下来就会有三个函数: ——start用于开始开始线程

Chromium的UI绘制初探

转载请注明出处:http://www.cnblogs.com/fangkm/p/3943896.html 常见的UI库的绘制逻辑 任何一个成熟的界面框架都有一个相当复杂的结构,消息循环的处理.控件的布局与绘制.焦点的管理以及资源的存取等等,Chromium里的界面框架也不例外,尤其采用的MVC设计方式更是增添了代码结构的复杂度.这里并不打算讨论Chromium的界面框架,本文感兴趣的只是Chromium的UI绘制部分,确切地说应该是引入Aura架构之后控件渲染的硬件加速支持. 在常见的Direc

七种仿真平台

1 主要介绍以下七种仿真平台(侧重移动机器人仿真而非机械臂等工业机器人仿真): 1.1 USARSim-Unified System for Automation and Robot Simulation USARSim是一个基于虚拟竞技场引擎设计高保真多机器人环境仿真平台.主要针对地面机器人,可以被用于研究和教学,除此之外,USARSim是RoboCup救援虚拟机器人竞赛和虚拟制造自动化竞赛的基础平台.使用开放动力学引擎ODE(Open Dynamics Engine),支持三维的渲染和物理模

微信公众平台开发(十二) 发送客服消息

原文:微信公众平台开发(十二) 发送客服消息 一.简介 当用户主动发消息给公众号的时候(包括发送信息.点击自定义菜单.订阅事件.扫描二维码事件.支付成功事件.用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前修改为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数.此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务. 二.思路分析 官方文档中只提供了一个发送客服消息的接口,开发者只要POS

Modelsim的自动化脚本仿真平台

自动化仿真平台由tcl语言搭建,大规模设计使用此平台让仿真便捷不少.大体上用tcl语言进行modelsim仿真的流程如下: 1. 建立库 2. 映射库到物理目录 3. 编译源代码 4. 启动仿真器 5. 执行仿真 tcl语言的语法 vlib :建立库.格式 vlib<library name> .库名缺省值是work vmap:映射逻辑库名,将逻辑库名映射到库路径.语法格式vmap work <library name> vdir:显示指定库内容.语法格式vdir –lib <

常规功能和模块自定义系统 (cfcmms)—032开发日志(用GoJS来绘制模块关系图)

032开发日志(用GoJS来绘制模块关系图) 本系统现在尚没有流程和图表的功能,现在感觉在操作模块的各种功能的时候如果有一个模块关系图,那么就会更直观.网上找了一些绘制图表的库,看了一下GoJS也不错,入门也比较容易.经过一些工作,对业务模块作了一个简单的关系图. GoJS的基础知识请看官网的介绍,在上面的模块图中,有模块节点和连线二种信息需要定义.用户业务模块数据都是由后台组织好后发送到前台的. 整个绘制流程图的界面模块是一个Panel,在render的时候从后台加载数据,然后绘制.js类如下