Access Joint coordinates

Hello.

I’d like to create a c++ script that can gather all the coordinates of a skeletons joints and post it with TCP to then process the data on another computer on the network for analysis of movement. What’s the best way to access that data and do that? Im a bit new on c++ so if it’s only related to that, i’ll just study up and try myself, but some helpful advice or ideas would be greatly appreciated.

Best regards

1 Like

Please take a look at these tutorials:

  1. https://github.com/3DiVi/nuitrack-sdk/blob/master/Examples/nuitrack_gl_sample/src/main.cpp
  2. https://github.com/3DiVi/nuitrack-sdk/blob/master/Examples/nuitrack_console_sample/src/main.cpp
1 Like

Thank you for replying. I tried running nuitrack_console_sample and this is the error messages I get:

/tmp/ccbruTVV.o: In function`tdv::nuitrack::HandTrackerData::HandTrackerData(HandTrackerDataInner*)':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack15HandTrackerDataC1EP20HandTrackerDataInner[_ZN3tdv8nuitrack15HandTrackerDataC1EP20HandTrackerDataInner]+0x67): undefined reference to `nuitrack_AddHandTrackerDataRef'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::HandTrackerData::~HandTrackerData()':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack15HandTrackerDataD1Ev[_ZN3tdv8nuitrack15HandTrackerDataD1Ev]+0x34): undefined reference to `nuitrack_DestroyHandTrackerData'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::HandTrackerData::getTimestamp() const':
Nuitrack_test.cpp:(.text._ZNK3tdv8nuitrack15HandTrackerData12getTimestampEv[_ZNK3tdv8nuitrack15HandTrackerData12getTimestampEv]+0x18): undefined reference to `nuitrack_GetHandTrackerDataTimestamp'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::HandTrackerData::getUsersHands() const':
Nuitrack_test.cpp:(.text._ZNK3tdv8nuitrack15HandTrackerData13getUsersHandsEv[_ZNK3tdv8nuitrack15HandTrackerData13getUsersHandsEv]+0x46): undefined reference to `nuitrack_HandTrackerGetNumUsers'
Nuitrack_test.cpp:(.text._ZNK3tdv8nuitrack15HandTrackerData13getUsersHandsEv[_ZNK3tdv8nuitrack15HandTrackerData13getUsersHandsEv]+0xb1): undefined reference to `nuitrack_HandTrackerGetUserHands'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::HandTracker::create()':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack11HandTracker6createEv[_ZN3tdv8nuitrack11HandTracker6createEv]+0x2e): undefined reference to `nuitrack_CreateHandTracker'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::HandTracker::~HandTracker()':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack11HandTrackerD2Ev[_ZN3tdv8nuitrack11HandTrackerD5Ev]+0x32): undefined reference to `nuitrack_DestroyHandTracker'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::HandTracker::HandTracker(NuitrackModule*)':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack11HandTrackerC2EP14NuitrackModule[_ZN3tdv8nuitrack11HandTrackerC5EP14NuitrackModule]+0xa9): undefined reference to `nuitrack_registerHandTrackerCallback'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::HandTracker::canUpdate() const':
Nuitrack_test.cpp:(.text._ZNK3tdv8nuitrack11HandTracker9canUpdateEv[_ZNK3tdv8nuitrack11HandTracker9canUpdateEv]+0x18): undefined reference to `nuitrack_GetNuitrackModuleCanUpdate'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::HandTracker::getTimestamp()':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack11HandTracker12getTimestampEv[_ZN3tdv8nuitrack11HandTracker12getTimestampEv]+0x18): undefined reference to `nuitrack_GetNuitrackModuleTimestamp'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::Nuitrack::init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack8Nuitrack4initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN3tdv8nuitrack8Nuitrack4initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x1c): undefined reference to `nuitrack_InitializeFromConfig'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::Nuitrack::run()':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack8Nuitrack3runEv[_ZN3tdv8nuitrack8Nuitrack3runEv]+0x5): undefined reference to `nuitrack_Run'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::Nuitrack::waitUpdate(std::shared_ptr<tdv::nuitrack::HeaderOnlyAPI_Module>)':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack8Nuitrack10waitUpdateESt10shared_ptrINS0_20HeaderOnlyAPI_ModuleEE[_ZN3tdv8nuitrack8Nuitrack10waitUpdateESt10shared_ptrINS0_20HeaderOnlyAPI_ModuleEE]+0x1c): undefined reference to `nuitrack_WaitSyncUpdatePublic'
/tmp/ccbruTVV.o: In function `tdv::nuitrack::Nuitrack::release()':
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack8Nuitrack7releaseEv[_ZN3tdv8nuitrack8Nuitrack7releaseEv]+0xa): undefined reference to `nuitrack_getIssuesCallbackStruct'
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack8Nuitrack7releaseEv[_ZN3tdv8nuitrack8Nuitrack7releaseEv]+0x1f): undefined reference to `nuitrack_setIssuesCallbackStruct'
Nuitrack_test.cpp:(.text._ZN3tdv8nuitrack8Nuitrack7releaseEv[_ZN3tdv8nuitrack8Nuitrack7releaseEv]+0x42): undefined reference to `nuitrack_Release'
collect2: error: ld returned 1 exit status

Is there anything I can do to fix this?

Best regards

What Nuitrack version do you use? Try to update Nuitrack to the latest version