23 #ifndef __PLUGINS_OPENNI_HANDTRACKER_THREAD_H_ 24 #define __PLUGINS_OPENNI_HANDTRACKER_THREAD_H_ 26 #include <core/threading/thread.h> 27 #include <core/utils/lockptr.h> 28 #include <aspect/logging.h> 29 #include <aspect/configurable.h> 30 #include <aspect/clock.h> 31 #include <aspect/blackboard.h> 32 #include <aspect/blocked_timing.h> 33 #include <plugins/openni/aspect/openni.h> 35 #include <XnCppWrapper.h> 40 class ObjectPositionInterface;
57 virtual void finalize();
59 void hand_create(XnUserID &user,
const XnPoint3D *position, XnFloat &time);
60 void hand_destroy(XnUserID &user, XnFloat &time);
61 void hand_update(XnUserID &user,
const XnPoint3D *position, XnFloat &time);
63 void gesture_recognized(
const XnChar *gesture_name,
const XnPoint3D *position,
64 const XnPoint3D *end_position);
65 void gesture_progress(
const XnChar *gesture_name,
const XnPoint3D *position,
72 void update_hand(XnUserID &user,
const XnPoint3D *position);
76 typedef std::map<XnUserID, fawkes::ObjectPositionInterface *> HandMap;
79 xn::HandsGenerator *__hand_gen;
80 xn::DepthGenerator *__depth_gen;
81 xn::GestureGenerator *__gesture_gen;
83 XnCallbackHandle __hand_cb_handle;
84 XnCallbackHandle __gesture_cb_handle;
86 std::map<std::string, bool> __enabled_gesture;
88 std::map<XnUserID, bool> __needs_write;
92 unsigned int __height;
Thread aspect to access to BlackBoard.
Thread aspect that allows to obtain the current time from the clock.
Fawkes library namespace.
virtual void run()
Code to execute in the thread.
Thread aspect to get access to the OpenNI context.
OpenNI Hand Tracker Thread.
Thread class encapsulation of pthreads.
virtual void run()
Stub to see name in backtrace for easier debugging.
Thread aspect to use blocked timing.
Thread aspect to log output.
Thread aspect to access configuration data.