10#ifndef CSkeletonTracker_H
11#define CSkeletonTracker_H
50enum JOINT {HEAD = 0, NECK, TORSO,
51 LEFT_SHOULDER,
LEFT_ELBOW, LEFT_HAND, LEFT_HIP, LEFT_KNEE, LEFT_FOOT,
52 RIGHT_SHOULDER, RIGHT_ELBOW, RIGHT_HAND, RIGHT_HIP, RIGHT_KNEE, RIGHT_FOOT, NONE};
82 const std::string & iniSection );
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
A class for grabbing mrpt::obs::CObservationSkeleton from a PrimeSense camera.
unsigned int m_toutCounter
Timeout counter (for internal use only)
mrpt::poses::CPose3D m_sensorPose
Sensor pose.
void initialize()
Connects to the PrimeSense camera and prepares it to get skeleton data.
std::vector< double > m_joint_theta
Joint angles when no skeleton has been detected.
void * m_skeletons_ptr
Opaque pointers to specific NITE data.
void doProcess()
This method will be invoked at a minimum rate of "process_rate" (Hz)
void processPreview(const mrpt::obs::CObservationSkeletonPtr &obs)
Displays real-time info for the captured skeleton.
int m_nUsers
Number of detected users.
virtual ~CSkeletonTracker()
Destructor.
void processPreviewNone()
mrpt::system::TTimeStamp m_timeStartTT
std::vector< std::pair< JOINT, JOINT > > m_linesToPlot
Lines between joints.
void loadConfig_sensorSpecific(const mrpt::utils::CConfigFileBase &configSource, const std::string &iniSection)
See the class documentation at the top for expected parameters.
uint32_t m_timeStartUI
Timestamp management.
mrpt::gui::CDisplayWindow3DPtr m_win
bool m_showPreview
Preview window management.
CSkeletonTracker()
Constructor.
void setPreview(const bool setPreview=true)
Set/unset preview.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
This class allows loading and storing values and vectors of different types from a configuration text...
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1,...
struct GUI_IMPEXP CDisplayWindow3DPtr
struct OBS_IMPEXP CObservationSkeletonPtr
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.