| 1 |
|
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 |
|
|---|
| 15 |
|
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 |
|
|---|
| 19 |
|
|---|
| 20 |
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 |
|
|---|
| 24 |
|
|---|
| 25 |
|
|---|
| 26 |
|
|---|
| 27 |
#include <iostream> |
|---|
| 28 |
#include <gadget/InputManager.h> |
|---|
| 29 |
#include <gadget/Devices/Immersion/hci.h> |
|---|
| 30 |
#include <gadget/Devices/Immersion/iboxStandalone.h> |
|---|
| 31 |
#include <gadget/Devices/Ascension/Flock.h> |
|---|
| 32 |
#include <gadget/Devices/Immersion/Ibox.h> |
|---|
| 33 |
#include <vpr/System.h> |
|---|
| 34 |
|
|---|
| 35 |
int main() |
|---|
| 36 |
{ |
|---|
| 37 |
vrj::Matrix pos_data; |
|---|
| 38 |
gadget::InputManager* input_manager = new gadget::InputManager ; |
|---|
| 39 |
|
|---|
| 40 |
|
|---|
| 41 |
std::cout << "\nCreating myDummy: DummyPosition w/X=5.0" << std::endl; |
|---|
| 42 |
gadget::DummyPosition* myDummy = new gadget::DummyPosition; |
|---|
| 43 |
myDummy->SetX(5.0); |
|---|
| 44 |
|
|---|
| 45 |
|
|---|
| 46 |
std::cout << "get the position data for proxy 0:" << std::endl; |
|---|
| 47 |
data = input_manager->getPosData(pos_data, 0); |
|---|
| 48 |
std::cout << " x:" << data->x |
|---|
| 49 |
<< " y:" << data->y |
|---|
| 50 |
<< " z:" << data->z << std::endl; |
|---|
| 51 |
|
|---|
| 52 |
|
|---|
| 53 |
std::cout << "\nAdding myDummy to InputGroup" << std::endl; |
|---|
| 54 |
int devNum = input_manager->fAddDevice(myDummy); |
|---|
| 55 |
std::cout << "Device added as devNum: " << devNum << std::endl; |
|---|
| 56 |
std::cout << "\nSet proxy 0 to devNum, subnumber 0" << std::endl; |
|---|
| 57 |
input_manager->setPosProxy(0,devNum,0); |
|---|
| 58 |
|
|---|
| 59 |
|
|---|
| 60 |
std::cout << "Now get the positional data from posproxy0:" << std::endl; |
|---|
| 61 |
data = input_manager->getPosData(0); |
|---|
| 62 |
std::cout << " x:" << data->x |
|---|
| 63 |
<< " y:" << data->y |
|---|
| 64 |
<< " z:" << data->z << std::endl; |
|---|
| 65 |
|
|---|
| 66 |
|
|---|
| 67 |
std::cout << "\ngetDevice(devNum):" << (input_manager->getDevice(devNum)) |
|---|
| 68 |
<< std::endl; |
|---|
| 69 |
(input_manager->getDevice(devNum))->UpdateData(); |
|---|
| 70 |
std::cout << "\nget the devicename: " |
|---|
| 71 |
<< (input_manager->getDevice(devNum))->getDeviceName() |
|---|
| 72 |
<< std::endl; |
|---|
| 73 |
|
|---|
| 74 |
std::cout << "Doing UpdateAllData:" << std::flush; |
|---|
| 75 |
input_manager->updateAllData(); |
|---|
| 76 |
std::cout << "..Done" << std::endl; |
|---|
| 77 |
|
|---|
| 78 |
|
|---|
| 79 |
|
|---|
| 80 |
|
|---|
| 81 |
std::cout << "\ntype something: " << std::flush; |
|---|
| 82 |
std::cin.get(); |
|---|
| 83 |
|
|---|
| 84 |
#ifdef TRACKERS |
|---|
| 85 |
gadget::Flock* aFlock = new gadget::Flock; |
|---|
| 86 |
aFlock->startSampling(); |
|---|
| 87 |
devNum = input_manager->fAddDevice(aFlock); |
|---|
| 88 |
input_manager->SetPosProxy(1,devNum,0); |
|---|
| 89 |
input_manager->SetPosProxy(2,devNum,1); |
|---|
| 90 |
|
|---|
| 91 |
std::cout << "Trackers set up.. " << std::endl; |
|---|
| 92 |
|
|---|
| 93 |
|
|---|
| 94 |
POS_DATA *data1,*data2,*data0; |
|---|
| 95 |
|
|---|
| 96 |
for (int i = 0; i < 5; i++) |
|---|
| 97 |
{ |
|---|
| 98 |
input_manager->UpdateAllData(); |
|---|
| 99 |
data0 = input_manager->getPosData(0); |
|---|
| 100 |
data1 = input_manager->getPosData(1); |
|---|
| 101 |
data2 = input_manager->getPosData(2); |
|---|
| 102 |
std::cout << std::endl; |
|---|
| 103 |
std::cout << "X: " << data0->x << " " << data1->x << " " << data2->x |
|---|
| 104 |
<< std::endl |
|---|
| 105 |
<< "Y: " << data0->y << " " << data1->y << " " << data2->y << endl |
|---|
| 106 |
<< "Z: " << data0->z << " " << data1->z << " " << data2->z << endl; |
|---|
| 107 |
|
|---|
| 108 |
vpr::System::sleep(1); |
|---|
| 109 |
} |
|---|
| 110 |
|
|---|
| 111 |
aFlock->stopSampling(); |
|---|
| 112 |
#endif |
|---|
| 113 |
|
|---|
| 114 |
gadget::IBox *myibox = new gadget::IBox; |
|---|
| 115 |
myibox->startSampling(); |
|---|
| 116 |
std::cout << "ibox is: " << myibox->getDeviceName(); |
|---|
| 117 |
C2Dinput_manageritalProxy dp1(myibox,0); |
|---|
| 118 |
devNum = input_manager->FAddDevice(myibox); |
|---|
| 119 |
input_manager->SetDinput_managerProxy(0,devNum,0); |
|---|
| 120 |
input_manager->SetDinput_managerProxy(1,devNum,1); |
|---|
| 121 |
input_manager->SetDinput_managerProxy(2,devNum,2); |
|---|
| 122 |
|
|---|
| 123 |
for (int i = 0; i < 20; i++) |
|---|
| 124 |
{ |
|---|
| 125 |
input_manager->UpdateAllData(); |
|---|
| 126 |
std::cout << "dinput_managerital0: " |
|---|
| 127 |
<< input_manager->getDinput_managerData(0); |
|---|
| 128 |
std::cout << " dinput_managerital1: " |
|---|
| 129 |
<< input_manager->getDinput_managerData(1); |
|---|
| 130 |
std::cout << " dinput_managerital2: " |
|---|
| 131 |
<< input_manager->getDinput_managerData(2) << std::endl; |
|---|
| 132 |
vpr::System::sleep(1); |
|---|
| 133 |
} |
|---|
| 134 |
|
|---|
| 135 |
|
|---|
| 136 |
myibox->stopSampling(); |
|---|
| 137 |
delete myibox; |
|---|
| 138 |
|
|---|
| 139 |
delete myDummy; |
|---|
| 140 |
|
|---|
| 141 |
delete input_manager; |
|---|
| 142 |
|
|---|
| 143 |
return 0; |
|---|
| 144 |
} |
|---|