TUIO之TuioDemo
来源:互联网 发布:矩阵的卷积与向量卷积 编辑:程序博客网 时间:2024/06/10 18:18
用VS生成的依赖项关系图,和想象的一样,libTUIO这个项目是TUIO提供的库一样的存在,剩下的三个项目TuioDemo、SimpleSimulator、TuioDump都调用到了libTUIO里的方法。
TuioDemo的函数关系图:
可以看到是由run()这个函数开始进行调用其他函数的,所以先看看run()这个函数吧。
1、void run(); ——public
void TuioDemo::run() {
running=true;
while (running) {
drawObjects();
processEvents();
SDL_Delay(10);
}
}
设置running为true,running是TuioDemo的私有成员变量,bool类型。
当running为true时,开始执行drawObject()、processEvent()这两个函数。现在不知道SDL_Delay(10)是什么。
接着看drawObject()
2、void drawObjects(); ——private
字面意思理解,应该是一个关于绘制对象的函数。
清屏,这里用到了glClear()函数。
//draw the cursors 不太明白什么是cursors,绘制鼠标?光标?
构造一个list容器,保存TuioCursor指针的list,也就是说保存着指向TuioCursor对象的指针。这个cursorList的内容是从tuioClient获取的active TuioCursor list。tuioClient是TuioDemo的私有成员变量。
锁定TuioCursor list,为了避免存取/使用过程中对数据的改变。
对cursorList使用迭代器来遍历。
对list中的每个tuioCursor对象
使用TuioCursor类从TuioContainer类继承的方法getPath()获取path,path为TuioPoint类型的list。TuioPoint类是一个简单的容器,实用类,处理TUIOposition,另一方面,TuioPoint是TuioCursor和TuioObject的基类。
使用openGL绘制线条
用一个for循环来从path中把若干个点取出来。
//绘制finger tip
将TuioCursor list解锁
//绘制对象
//绘制blobs
3、void processEvents();——private应该是一个处理事件的函数
定义了一些TuioDemo中的操作。
ESC-退出
F1-全屏
v-设置verbose=!verbose;这应该是一个flag,很多函数都用到了。
1 0
- TUIO之TuioDemo
- OSG+TUIO osgRecipes之osgtuio
- TUIO笔记
- TuioDemo程序二刷
- 初步阅读tuio.as
- Touchlib源码注释-----TUIO.as
- Touchlib源码注释-----TUIO.as
- 如何调用TUIO中的源码
- NGUI 响应touchscript 的 tuio动作
- TUIO学习笔记1-TUIO 1.1 Protocol Specification协议规范/标准
- TUIO学习笔记2-TUIO C++ Reference Implementation and Demo Application参考实现和Demo程序
- AS3中将TUIO协议转换到传统触摸事件
- 基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计
- 復之之理
- 博学之,审问之,慎思之,明辨之,笃行之
- 博学之,审问之,慎思之,明辨之,笃行之
- 雪,之韵,之恋,之......
- 年终总结之天涯之无敌之言论
- C++Windows编程之创建窗口
- 测试spring父子容器实现
- Android组件复习之基本组件04—SwitchButton
- 简单存取NSUserDefault
- Duilib 控件属性大全
- TUIO之TuioDemo
- mysql5.6 linux下安装
- 伪静态urlrewrite的使用
- .jsp文件链接中报java.lang.NumberFormatException: null 错的一种可能
- 学习笔记
- 《java多线程编程核心技术》读书笔记4:Lock的使用
- Oracle set 用法
- 用jQuery获取table中行id和td值
- hdu5882 Balanced Game 水题