Difference between revisions of "NaviTrack Tutorial:Integrating:Passing coordinates data"
From NAMIC Wiki
Line 6: | Line 6: | ||
=Sending side= | =Sending side= | ||
==Modify MyTutorialModule== | ==Modify MyTutorialModule== | ||
+ | void MyTutorialModule::setTracker(std::vector<float> pos,std::vector<float> quat) | ||
+ | { | ||
+ | if (pos.size() != 3 || quat.size() != 4) { | ||
+ | std::cout << "MyTutorialModule::setTracker(): illegal vector size." << std::endl; | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | if(source!=NULL) | ||
+ | { | ||
+ | ot::Event *event = new ot::Event(); | ||
+ | event->setAttribute("position",pos); | ||
+ | event->setAttribute("orientation",quat); | ||
+ | event->timeStamp(); | ||
+ | source->updateObservers( *event ); | ||
+ | } | ||
+ | } | ||
+ | |||
==pushpos.cxx== | ==pushpos.cxx== | ||
Revision as of 04:19, 25 May 2007
Home < NaviTrack Tutorial:Integrating:Passing coordinates dataContents
What you need to do
- Create NaviTrack module to provide a node that can be accessed by you application.
- Modify your application to push and pull NaviTrack events cyclically with certain interval.
- Create NaviTrack configuration XML file to build tree structure of data flow.
Sending side
Modify MyTutorialModule
void MyTutorialModule::setTracker(std::vector<float> pos,std::vector<float> quat) { if (pos.size() != 3 || quat.size() != 4) { std::cout << "MyTutorialModule::setTracker(): illegal vector size." << std::endl; return; } if(source!=NULL) { ot::Event *event = new ot::Event(); event->setAttribute("position",pos); event->setAttribute("orientation",quat); event->timeStamp(); source->updateObservers( *event ); } }
pushpos.cxx
Receiving side
Modify MyTutorialSink
pullpos.cxx
Testing
Let's try to send position data from pushpos to pullpos program through network.
tutorial_source.xml (for pushpos)
tutorial_sink.xml (for pullpos)
Run the programs
Open two terminals and go to the directory where the programs exists.
Terminal 1 (pushpos: sending side)
$ ./pushpos tutorial_source.xml
Terminal 2 (pullpos: receiving side)
$ ./pullpos tutorial_sink.xml
Back to Integrating into your application.