vrpn(3)

2019-06-17 11:11

} void VRPN_CALLBACK handle_button( void* userData, const vrpn_BUTTONCB b ) { cout << \<< b.button << \<< b.state << endl; } void VRPN_CALLBACK handle_tracker(void* userData, const vrpn_TRACKERCB t ) { cout << \<< t.sensor << \<< t.pos[0] << \<< t.pos[1] << \<< t.pos[2] << endl; } int main(int argc, char* argv[]) { vrpn_Analog_Remote* vrpnAnalog = new vrpn_Analog_Remote(\); vrpn_Button_Remote* vrpnButton = new vrpn_Button_Remote(\); vrpn_Tracker_Remote* vrpnTracker = new vrpn_Tracker_Remote( \); vrpnAnalog->register_change_handler( 0, handle_analog ); vrpnButton->register_change_handler( 0, handle_button ); vrpnTracker->register_change_handler( 0, handle_tracker ); while(1) { vrpnAnalog->mainloop(); vrpnButton->mainloop(); vrpnTracker->mainloop(); } return 0; } (说明:这个图也是原文中的图片,自己测试时不是很方便截图,不过效果是类似的,点击鼠标按键时会有“Button”。)

不太清楚原文中的tracker是如何测试的。

下面是Wiimote,由于没有这东西,就不详细介绍了,原文中介绍的也不多。

Going further with VRPN

The VRPN server can be on another machine. You can have access to the devices plugged to another machine simply by specifying the network address of the vrpn_server when you create your remote devices.

教程——使用VRPN(2)

2013-06-02 11:21:16| 分类: 学习 | 标签:学习 教程 |举报 |字号大中小 订阅

前面一篇文章介绍了如何配置VRPN server,以及进行了一个简单的测试。这里将介绍如何用VRPN编写简单的程序。在进行下面的学习前,首先应该按照“在Windows下安装VRPN(Virtual Reality Peripheral Network)”这篇文章介绍的,安装好VRPN,并进行配置。同样的这篇文章也是翻译的这篇文章。

一个简单的client

下面是得到Analog值的简单代码: #include \ #include using namespace std; void VRPN_CALLBACK handle_analog( void* userData, const vrpn_ANALOGCB a ) { int nbChannels = a.num_channel; cout << \; for( int i=0; i < a.num_channel; i++ ) { cout << a.channel[i] << \; } cout << endl; } int main(int argc, char* argv[]) { vrpn_Analog_Remote* vrpnAnalog = new vrpn_Analog_Remote(\); vrpnAnalog->register_change_handler( 0, handle_analog ); while(1) { vrpnAnalog->mainloop(); } return 0; } 这是一个控制台程序,在Debug模式下没有编译成功,在Release模式下编译成功了,不知道什么原因。在运行时,应该先打开vrpn_server.exe,启动server。之后运行这个程序,效果如下:

现在进行一些解释:

vrpn_Analog_Remote* vrpnAnalog vrpn_Analog_Remote(\); = new vrpn_Analog_Remote是一个类,允许你连接到一个已经定义了驱动和一个Analog输出的vrpn server。这个构造函数吸收驱动的名字和server的网络地址。


vrpn(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:汇编语言实验指导

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: