Fawkes API  Fawkes Development Version
HumanSkeletonInterface.h
00001 
00002 /***************************************************************************
00003  *  HumanSkeletonInterface.h - Fawkes BlackBoard Interface - HumanSkeletonInterface
00004  *
00005  *  Templated created:   Thu Oct 12 10:49:19 2006
00006  *  Copyright  2007-2011  Tim Niemueller
00007  *
00008  ****************************************************************************/
00009 
00010 /*  This program is free software; you can redistribute it and/or modify
00011  *  it under the terms of the GNU General Public License as published by
00012  *  the Free Software Foundation; either version 2 of the License, or
00013  *  (at your option) any later version. A runtime exception applies to
00014  *  this software (see LICENSE.GPL_WRE file mentioned below for details).
00015  *
00016  *  This program is distributed in the hope that it will be useful,
00017  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019  *  GNU Library General Public License for more details.
00020  *
00021  *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
00022  */
00023 
00024 #ifndef __INTERFACES_HUMANSKELETONINTERFACE_H_
00025 #define __INTERFACES_HUMANSKELETONINTERFACE_H_
00026 
00027 #include <interface/interface.h>
00028 #include <interface/message.h>
00029 #include <interface/field_iterator.h>
00030 
00031 namespace fawkes {
00032 
00033 class HumanSkeletonInterface : public Interface
00034 {
00035  /// @cond INTERNALS
00036  INTERFACE_MGMT_FRIENDS(HumanSkeletonInterface)
00037  /// @endcond
00038  public:
00039   /* constants */
00040 
00041   /** 
00042         Current tracking state for the skeleton.
00043        */
00044   typedef enum {
00045     STATE_INVALID /**< 
00046         This interface does not represent a valid skeleton at the moment.
00047        */,
00048     STATE_DETECTING_POSE /**< 
00049         The user's pose is currently being determined. This usually indicates
00050         that the tracker is looking for a particular calibration pose.
00051        */,
00052     STATE_CALIBRATING /**< 
00053         The tracker is currently calibrating for the recognized human.
00054        */,
00055     STATE_TRACKING /**< 
00056         The user is being tracked and the skeleton contains valid data.
00057        */
00058   } State;
00059   const char * tostring_State(State value) const;
00060 
00061  private:
00062 #pragma pack(push,4)
00063   /** Internal data storage, do NOT modify! */
00064   typedef struct {
00065     int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
00066     int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
00067     int32_t state; /**< Current state. */
00068     uint32_t user_id; /**< Tracking ID of this user. */
00069     int32_t visibility_history; /**< 
00070       The visibility history indicates the persistence of user sightings.
00071       A positive value indicates the number of successful consecutive sightings
00072       of the user (center of mass not equal to zero), the absolute of a negative
00073       value gives the number of consecutive negative (non-) sightings. The value
00074       is zero only if uninitialized.
00075      */
00076     char pose[32]; /**< Detected user pose. */
00077     float com[3]; /**< Center of mass. */
00078     float pos_head[3]; /**< Head position vector. */
00079     float pos_head_confidence; /**< 
00080       Head position confidence. */
00081     float pos_neck[3]; /**< Neck position vector. */
00082     float pos_neck_confidence; /**< 
00083       Neck position confidence. */
00084     float pos_torso[3]; /**< Torso position vector. */
00085     float pos_torso_confidence; /**< 
00086       Torso position confidence. */
00087     float pos_waist[3]; /**< Waist position vector. */
00088     float pos_waist_confidence; /**< 
00089       Waist position confidence. */
00090     float pos_left_collar[3]; /**< 
00091       Left position vector. */
00092     float pos_left_collar_confidence; /**< 
00093       Left position confidence. */
00094     float pos_left_shoulder[3]; /**< 
00095       Left shoulder position vector. */
00096     float pos_left_shoulder_confidence; /**< 
00097       Left shoulder position confidence. */
00098     float pos_left_elbow[3]; /**< 
00099       Left elbow position vector. */
00100     float pos_left_elbow_confidence; /**< 
00101       Left elbow position confidence. */
00102     float pos_left_wrist[3]; /**< 
00103       Left wrist position vector. */
00104     float pos_left_wrist_confidence; /**< 
00105       Left wrist position confidence. */
00106     float pos_left_hand[3]; /**< 
00107       Left hand position vector. */
00108     float pos_left_hand_confidence; /**< 
00109       Left hand position confidence. */
00110     float pos_left_fingertip[3]; /**< 
00111       Left fingertip position vector. */
00112     float pos_left_fingertip_confidence; /**< 
00113       Left fingertip position confidence. */
00114     float pos_right_collar[3]; /**< 
00115       Right collar position vector. */
00116     float pos_right_collar_confidence; /**< 
00117       Right collar position confidence. */
00118     float pos_right_shoulder[3]; /**< 
00119       Right shoulder position vector. */
00120     float pos_right_shoulder_confidence; /**< 
00121       Right shoulder position confidence. */
00122     float pos_right_elbow[3]; /**< 
00123       Right elbow position vector. */
00124     float pos_right_elbow_confidence; /**< 
00125       Right elbow position confidence. */
00126     float pos_right_wrist[3]; /**< 
00127       Right wrist position vector. */
00128     float pos_right_wrist_confidence; /**< 
00129       Right wrist position confidence. */
00130     float pos_right_hand[3]; /**< 
00131       Right hand position vector. */
00132     float pos_right_hand_confidence; /**< 
00133       Right hand position confidence. */
00134     float pos_right_fingertip[3]; /**< 
00135       Right fingertip position vector. */
00136     float pos_right_fingertip_confidence; /**< 
00137       Right fingertip position confidence. */
00138     float pos_left_hip[3]; /**< 
00139       Left hip position vector. */
00140     float pos_left_hip_confidence; /**< 
00141       Left hip position confidence. */
00142     float pos_left_knee[3]; /**< 
00143       Left knee position vector. */
00144     float pos_left_knee_confidence; /**< 
00145       Left knee position confidence. */
00146     float pos_left_ankle[3]; /**< 
00147       Left ankle position vector. */
00148     float pos_left_ankle_confidence; /**< 
00149       Left ankle position confidence. */
00150     float pos_left_foot[3]; /**< 
00151       Left foot position vector. */
00152     float pos_left_foot_confidence; /**< 
00153       Left foot position confidence. */
00154     float pos_right_hip[3]; /**< 
00155       Right hip position vector. */
00156     float pos_right_hip_confidence; /**< 
00157       Right hip position confidence. */
00158     float pos_right_knee[3]; /**< 
00159       Right knee position vector. */
00160     float pos_right_knee_confidence; /**< 
00161       Right knee position confidence. */
00162     float pos_right_ankle[3]; /**< 
00163       Right ankle position vector. */
00164     float pos_right_ankle_confidence; /**< 
00165       Right ankle position confidence. */
00166     float pos_right_foot[3]; /**< 
00167       Right foot position vector. */
00168     float pos_right_foot_confidence; /**< 
00169       Right foot position confidence. */
00170     float ori_head[9]; /**< Head position vector. */
00171     float ori_head_confidence; /**< 
00172       Head position confidence. */
00173     float ori_neck[9]; /**< Neck position vector. */
00174     float ori_neck_confidence; /**< 
00175       Neck position confidence. */
00176     float ori_torso[9]; /**< Torso position vector. */
00177     float ori_torso_confidence; /**< 
00178       Torso position confidence. */
00179     float ori_waist[9]; /**< Waist position vector. */
00180     float ori_waist_confidence; /**< 
00181       Waist position confidence. */
00182     float ori_left_collar[9]; /**< 
00183       Left position vector. */
00184     float ori_left_collar_confidence; /**< 
00185       Left position confidence. */
00186     float ori_left_shoulder[9]; /**< 
00187       Left shoulder position vector. */
00188     float ori_left_shoulder_confidence; /**< 
00189       Left shoulder position confidence. */
00190     float ori_left_elbow[9]; /**< 
00191       Left elbow position vector. */
00192     float ori_left_elbow_confidence; /**< 
00193       Left elbow position confidence. */
00194     float ori_left_wrist[9]; /**< 
00195       Left wrist position vector. */
00196     float ori_left_wrist_confidence; /**< 
00197       Left wrist position confidence. */
00198     float ori_left_hand[9]; /**< 
00199       Left hand position vector. */
00200     float ori_left_hand_confidence; /**< 
00201       Left hand position confidence. */
00202     float ori_left_fingertip[9]; /**< 
00203       Left fingertip position vector. */
00204     float ori_left_fingertip_confidence; /**< 
00205       Left fingertip position confidence. */
00206     float ori_right_collar[9]; /**< 
00207       Right collar position vector. */
00208     float ori_right_collar_confidence; /**< 
00209       Right collar position confidence. */
00210     float ori_right_shoulder[9]; /**< 
00211       Right shoulder position vector. */
00212     float ori_right_shoulder_confidence; /**< 
00213       Right shoulder position confidence. */
00214     float ori_right_elbow[9]; /**< 
00215       Right elbow position vector. */
00216     float ori_right_elbow_confidence; /**< 
00217       Right elbow position confidence. */
00218     float ori_right_wrist[9]; /**< 
00219       Right wrist position vector. */
00220     float ori_right_wrist_confidence; /**< 
00221       Right wrist position confidence. */
00222     float ori_right_hand[9]; /**< 
00223       Right hand position vector. */
00224     float ori_right_hand_confidence; /**< 
00225       Right hand position confidence. */
00226     float ori_right_fingertip[9]; /**< 
00227       Right fingertip position vector. */
00228     float ori_right_fingertip_confidence; /**< 
00229       Right fingertip position confidence. */
00230     float ori_left_hip[9]; /**< 
00231       Left hip position vector. */
00232     float ori_left_hip_confidence; /**< 
00233       Left hip position confidence. */
00234     float ori_left_knee[9]; /**< 
00235       Left knee position vector. */
00236     float ori_left_knee_confidence; /**< 
00237       Left knee position confidence. */
00238     float ori_left_ankle[9]; /**< 
00239       Left ankle position vector. */
00240     float ori_left_ankle_confidence; /**< 
00241       Left ankle position confidence. */
00242     float ori_left_foot[9]; /**< 
00243       Left foot position vector. */
00244     float ori_left_foot_confidence; /**< 
00245       Left foot position confidence. */
00246     float ori_right_hip[9]; /**< 
00247       Right hip position vector. */
00248     float ori_right_hip_confidence; /**< 
00249       Right hip position confidence. */
00250     float ori_right_knee[9]; /**< 
00251       Right knee position vector. */
00252     float ori_right_knee_confidence; /**< 
00253       Right knee position confidence. */
00254     float ori_right_ankle[9]; /**< 
00255       Right ankle position vector. */
00256     float ori_right_ankle_confidence; /**< 
00257       Right ankle position confidence. */
00258     float ori_right_foot[9]; /**< 
00259       Right foot position vector. */
00260     float ori_right_foot_confidence; /**< 
00261       Right foot position confidence. */
00262   } HumanSkeletonInterface_data_t;
00263 #pragma pack(pop)
00264 
00265   HumanSkeletonInterface_data_t *data;
00266 
00267  public:
00268   /* messages */
00269   virtual bool message_valid(const Message *message) const;
00270  private:
00271   HumanSkeletonInterface();
00272   ~HumanSkeletonInterface();
00273 
00274  public:
00275   /* Methods */
00276   State state() const;
00277   void set_state(const State new_state);
00278   size_t maxlenof_state() const;
00279   uint32_t user_id() const;
00280   void set_user_id(const uint32_t new_user_id);
00281   size_t maxlenof_user_id() const;
00282   int32_t visibility_history() const;
00283   void set_visibility_history(const int32_t new_visibility_history);
00284   size_t maxlenof_visibility_history() const;
00285   char * pose() const;
00286   void set_pose(const char * new_pose);
00287   size_t maxlenof_pose() const;
00288   float * com() const;
00289   float com(unsigned int index) const;
00290   void set_com(unsigned int index, const float new_com);
00291   void set_com(const float * new_com);
00292   size_t maxlenof_com() const;
00293   float * pos_head() const;
00294   float pos_head(unsigned int index) const;
00295   void set_pos_head(unsigned int index, const float new_pos_head);
00296   void set_pos_head(const float * new_pos_head);
00297   size_t maxlenof_pos_head() const;
00298   float pos_head_confidence() const;
00299   void set_pos_head_confidence(const float new_pos_head_confidence);
00300   size_t maxlenof_pos_head_confidence() const;
00301   float * pos_neck() const;
00302   float pos_neck(unsigned int index) const;
00303   void set_pos_neck(unsigned int index, const float new_pos_neck);
00304   void set_pos_neck(const float * new_pos_neck);
00305   size_t maxlenof_pos_neck() const;
00306   float pos_neck_confidence() const;
00307   void set_pos_neck_confidence(const float new_pos_neck_confidence);
00308   size_t maxlenof_pos_neck_confidence() const;
00309   float * pos_torso() const;
00310   float pos_torso(unsigned int index) const;
00311   void set_pos_torso(unsigned int index, const float new_pos_torso);
00312   void set_pos_torso(const float * new_pos_torso);
00313   size_t maxlenof_pos_torso() const;
00314   float pos_torso_confidence() const;
00315   void set_pos_torso_confidence(const float new_pos_torso_confidence);
00316   size_t maxlenof_pos_torso_confidence() const;
00317   float * pos_waist() const;
00318   float pos_waist(unsigned int index) const;
00319   void set_pos_waist(unsigned int index, const float new_pos_waist);
00320   void set_pos_waist(const float * new_pos_waist);
00321   size_t maxlenof_pos_waist() const;
00322   float pos_waist_confidence() const;
00323   void set_pos_waist_confidence(const float new_pos_waist_confidence);
00324   size_t maxlenof_pos_waist_confidence() const;
00325   float * pos_left_collar() const;
00326   float pos_left_collar(unsigned int index) const;
00327   void set_pos_left_collar(unsigned int index, const float new_pos_left_collar);
00328   void set_pos_left_collar(const float * new_pos_left_collar);
00329   size_t maxlenof_pos_left_collar() const;
00330   float pos_left_collar_confidence() const;
00331   void set_pos_left_collar_confidence(const float new_pos_left_collar_confidence);
00332   size_t maxlenof_pos_left_collar_confidence() const;
00333   float * pos_left_shoulder() const;
00334   float pos_left_shoulder(unsigned int index) const;
00335   void set_pos_left_shoulder(unsigned int index, const float new_pos_left_shoulder);
00336   void set_pos_left_shoulder(const float * new_pos_left_shoulder);
00337   size_t maxlenof_pos_left_shoulder() const;
00338   float pos_left_shoulder_confidence() const;
00339   void set_pos_left_shoulder_confidence(const float new_pos_left_shoulder_confidence);
00340   size_t maxlenof_pos_left_shoulder_confidence() const;
00341   float * pos_left_elbow() const;
00342   float pos_left_elbow(unsigned int index) const;
00343   void set_pos_left_elbow(unsigned int index, const float new_pos_left_elbow);
00344   void set_pos_left_elbow(const float * new_pos_left_elbow);
00345   size_t maxlenof_pos_left_elbow() const;
00346   float pos_left_elbow_confidence() const;
00347   void set_pos_left_elbow_confidence(const float new_pos_left_elbow_confidence);
00348   size_t maxlenof_pos_left_elbow_confidence() const;
00349   float * pos_left_wrist() const;
00350   float pos_left_wrist(unsigned int index) const;
00351   void set_pos_left_wrist(unsigned int index, const float new_pos_left_wrist);
00352   void set_pos_left_wrist(const float * new_pos_left_wrist);
00353   size_t maxlenof_pos_left_wrist() const;
00354   float pos_left_wrist_confidence() const;
00355   void set_pos_left_wrist_confidence(const float new_pos_left_wrist_confidence);
00356   size_t maxlenof_pos_left_wrist_confidence() const;
00357   float * pos_left_hand() const;
00358   float pos_left_hand(unsigned int index) const;
00359   void set_pos_left_hand(unsigned int index, const float new_pos_left_hand);
00360   void set_pos_left_hand(const float * new_pos_left_hand);
00361   size_t maxlenof_pos_left_hand() const;
00362   float pos_left_hand_confidence() const;
00363   void set_pos_left_hand_confidence(const float new_pos_left_hand_confidence);
00364   size_t maxlenof_pos_left_hand_confidence() const;
00365   float * pos_left_fingertip() const;
00366   float pos_left_fingertip(unsigned int index) const;
00367   void set_pos_left_fingertip(unsigned int index, const float new_pos_left_fingertip);
00368   void set_pos_left_fingertip(const float * new_pos_left_fingertip);
00369   size_t maxlenof_pos_left_fingertip() const;
00370   float pos_left_fingertip_confidence() const;
00371   void set_pos_left_fingertip_confidence(const float new_pos_left_fingertip_confidence);
00372   size_t maxlenof_pos_left_fingertip_confidence() const;
00373   float * pos_right_collar() const;
00374   float pos_right_collar(unsigned int index) const;
00375   void set_pos_right_collar(unsigned int index, const float new_pos_right_collar);
00376   void set_pos_right_collar(const float * new_pos_right_collar);
00377   size_t maxlenof_pos_right_collar() const;
00378   float pos_right_collar_confidence() const;
00379   void set_pos_right_collar_confidence(const float new_pos_right_collar_confidence);
00380   size_t maxlenof_pos_right_collar_confidence() const;
00381   float * pos_right_shoulder() const;
00382   float pos_right_shoulder(unsigned int index) const;
00383   void set_pos_right_shoulder(unsigned int index, const float new_pos_right_shoulder);
00384   void set_pos_right_shoulder(const float * new_pos_right_shoulder);
00385   size_t maxlenof_pos_right_shoulder() const;
00386   float pos_right_shoulder_confidence() const;
00387   void set_pos_right_shoulder_confidence(const float new_pos_right_shoulder_confidence);
00388   size_t maxlenof_pos_right_shoulder_confidence() const;
00389   float * pos_right_elbow() const;
00390   float pos_right_elbow(unsigned int index) const;
00391   void set_pos_right_elbow(unsigned int index, const float new_pos_right_elbow);
00392   void set_pos_right_elbow(const float * new_pos_right_elbow);
00393   size_t maxlenof_pos_right_elbow() const;
00394   float pos_right_elbow_confidence() const;
00395   void set_pos_right_elbow_confidence(const float new_pos_right_elbow_confidence);
00396   size_t maxlenof_pos_right_elbow_confidence() const;
00397   float * pos_right_wrist() const;
00398   float pos_right_wrist(unsigned int index) const;
00399   void set_pos_right_wrist(unsigned int index, const float new_pos_right_wrist);
00400   void set_pos_right_wrist(const float * new_pos_right_wrist);
00401   size_t maxlenof_pos_right_wrist() const;
00402   float pos_right_wrist_confidence() const;
00403   void set_pos_right_wrist_confidence(const float new_pos_right_wrist_confidence);
00404   size_t maxlenof_pos_right_wrist_confidence() const;
00405   float * pos_right_hand() const;
00406   float pos_right_hand(unsigned int index) const;
00407   void set_pos_right_hand(unsigned int index, const float new_pos_right_hand);
00408   void set_pos_right_hand(const float * new_pos_right_hand);
00409   size_t maxlenof_pos_right_hand() const;
00410   float pos_right_hand_confidence() const;
00411   void set_pos_right_hand_confidence(const float new_pos_right_hand_confidence);
00412   size_t maxlenof_pos_right_hand_confidence() const;
00413   float * pos_right_fingertip() const;
00414   float pos_right_fingertip(unsigned int index) const;
00415   void set_pos_right_fingertip(unsigned int index, const float new_pos_right_fingertip);
00416   void set_pos_right_fingertip(const float * new_pos_right_fingertip);
00417   size_t maxlenof_pos_right_fingertip() const;
00418   float pos_right_fingertip_confidence() const;
00419   void set_pos_right_fingertip_confidence(const float new_pos_right_fingertip_confidence);
00420   size_t maxlenof_pos_right_fingertip_confidence() const;
00421   float * pos_left_hip() const;
00422   float pos_left_hip(unsigned int index) const;
00423   void set_pos_left_hip(unsigned int index, const float new_pos_left_hip);
00424   void set_pos_left_hip(const float * new_pos_left_hip);
00425   size_t maxlenof_pos_left_hip() const;
00426   float pos_left_hip_confidence() const;
00427   void set_pos_left_hip_confidence(const float new_pos_left_hip_confidence);
00428   size_t maxlenof_pos_left_hip_confidence() const;
00429   float * pos_left_knee() const;
00430   float pos_left_knee(unsigned int index) const;
00431   void set_pos_left_knee(unsigned int index, const float new_pos_left_knee);
00432   void set_pos_left_knee(const float * new_pos_left_knee);
00433   size_t maxlenof_pos_left_knee() const;
00434   float pos_left_knee_confidence() const;
00435   void set_pos_left_knee_confidence(const float new_pos_left_knee_confidence);
00436   size_t maxlenof_pos_left_knee_confidence() const;
00437   float * pos_left_ankle() const;
00438   float pos_left_ankle(unsigned int index) const;
00439   void set_pos_left_ankle(unsigned int index, const float new_pos_left_ankle);
00440   void set_pos_left_ankle(const float * new_pos_left_ankle);
00441   size_t maxlenof_pos_left_ankle() const;
00442   float pos_left_ankle_confidence() const;
00443   void set_pos_left_ankle_confidence(const float new_pos_left_ankle_confidence);
00444   size_t maxlenof_pos_left_ankle_confidence() const;
00445   float * pos_left_foot() const;
00446   float pos_left_foot(unsigned int index) const;
00447   void set_pos_left_foot(unsigned int index, const float new_pos_left_foot);
00448   void set_pos_left_foot(const float * new_pos_left_foot);
00449   size_t maxlenof_pos_left_foot() const;
00450   float pos_left_foot_confidence() const;
00451   void set_pos_left_foot_confidence(const float new_pos_left_foot_confidence);
00452   size_t maxlenof_pos_left_foot_confidence() const;
00453   float * pos_right_hip() const;
00454   float pos_right_hip(unsigned int index) const;
00455   void set_pos_right_hip(unsigned int index, const float new_pos_right_hip);
00456   void set_pos_right_hip(const float * new_pos_right_hip);
00457   size_t maxlenof_pos_right_hip() const;
00458   float pos_right_hip_confidence() const;
00459   void set_pos_right_hip_confidence(const float new_pos_right_hip_confidence);
00460   size_t maxlenof_pos_right_hip_confidence() const;
00461   float * pos_right_knee() const;
00462   float pos_right_knee(unsigned int index) const;
00463   void set_pos_right_knee(unsigned int index, const float new_pos_right_knee);
00464   void set_pos_right_knee(const float * new_pos_right_knee);
00465   size_t maxlenof_pos_right_knee() const;
00466   float pos_right_knee_confidence() const;
00467   void set_pos_right_knee_confidence(const float new_pos_right_knee_confidence);
00468   size_t maxlenof_pos_right_knee_confidence() const;
00469   float * pos_right_ankle() const;
00470   float pos_right_ankle(unsigned int index) const;
00471   void set_pos_right_ankle(unsigned int index, const float new_pos_right_ankle);
00472   void set_pos_right_ankle(const float * new_pos_right_ankle);
00473   size_t maxlenof_pos_right_ankle() const;
00474   float pos_right_ankle_confidence() const;
00475   void set_pos_right_ankle_confidence(const float new_pos_right_ankle_confidence);
00476   size_t maxlenof_pos_right_ankle_confidence() const;
00477   float * pos_right_foot() const;
00478   float pos_right_foot(unsigned int index) const;
00479   void set_pos_right_foot(unsigned int index, const float new_pos_right_foot);
00480   void set_pos_right_foot(const float * new_pos_right_foot);
00481   size_t maxlenof_pos_right_foot() const;
00482   float pos_right_foot_confidence() const;
00483   void set_pos_right_foot_confidence(const float new_pos_right_foot_confidence);
00484   size_t maxlenof_pos_right_foot_confidence() const;
00485   float * ori_head() const;
00486   float ori_head(unsigned int index) const;
00487   void set_ori_head(unsigned int index, const float new_ori_head);
00488   void set_ori_head(const float * new_ori_head);
00489   size_t maxlenof_ori_head() const;
00490   float ori_head_confidence() const;
00491   void set_ori_head_confidence(const float new_ori_head_confidence);
00492   size_t maxlenof_ori_head_confidence() const;
00493   float * ori_neck() const;
00494   float ori_neck(unsigned int index) const;
00495   void set_ori_neck(unsigned int index, const float new_ori_neck);
00496   void set_ori_neck(const float * new_ori_neck);
00497   size_t maxlenof_ori_neck() const;
00498   float ori_neck_confidence() const;
00499   void set_ori_neck_confidence(const float new_ori_neck_confidence);
00500   size_t maxlenof_ori_neck_confidence() const;
00501   float * ori_torso() const;
00502   float ori_torso(unsigned int index) const;
00503   void set_ori_torso(unsigned int index, const float new_ori_torso);
00504   void set_ori_torso(const float * new_ori_torso);
00505   size_t maxlenof_ori_torso() const;
00506   float ori_torso_confidence() const;
00507   void set_ori_torso_confidence(const float new_ori_torso_confidence);
00508   size_t maxlenof_ori_torso_confidence() const;
00509   float * ori_waist() const;
00510   float ori_waist(unsigned int index) const;
00511   void set_ori_waist(unsigned int index, const float new_ori_waist);
00512   void set_ori_waist(const float * new_ori_waist);
00513   size_t maxlenof_ori_waist() const;
00514   float ori_waist_confidence() const;
00515   void set_ori_waist_confidence(const float new_ori_waist_confidence);
00516   size_t maxlenof_ori_waist_confidence() const;
00517   float * ori_left_collar() const;
00518   float ori_left_collar(unsigned int index) const;
00519   void set_ori_left_collar(unsigned int index, const float new_ori_left_collar);
00520   void set_ori_left_collar(const float * new_ori_left_collar);
00521   size_t maxlenof_ori_left_collar() const;
00522   float ori_left_collar_confidence() const;
00523   void set_ori_left_collar_confidence(const float new_ori_left_collar_confidence);
00524   size_t maxlenof_ori_left_collar_confidence() const;
00525   float * ori_left_shoulder() const;
00526   float ori_left_shoulder(unsigned int index) const;
00527   void set_ori_left_shoulder(unsigned int index, const float new_ori_left_shoulder);
00528   void set_ori_left_shoulder(const float * new_ori_left_shoulder);
00529   size_t maxlenof_ori_left_shoulder() const;
00530   float ori_left_shoulder_confidence() const;
00531   void set_ori_left_shoulder_confidence(const float new_ori_left_shoulder_confidence);
00532   size_t maxlenof_ori_left_shoulder_confidence() const;
00533   float * ori_left_elbow() const;
00534   float ori_left_elbow(unsigned int index) const;
00535   void set_ori_left_elbow(unsigned int index, const float new_ori_left_elbow);
00536   void set_ori_left_elbow(const float * new_ori_left_elbow);
00537   size_t maxlenof_ori_left_elbow() const;
00538   float ori_left_elbow_confidence() const;
00539   void set_ori_left_elbow_confidence(const float new_ori_left_elbow_confidence);
00540   size_t maxlenof_ori_left_elbow_confidence() const;
00541   float * ori_left_wrist() const;
00542   float ori_left_wrist(unsigned int index) const;
00543   void set_ori_left_wrist(unsigned int index, const float new_ori_left_wrist);
00544   void set_ori_left_wrist(const float * new_ori_left_wrist);
00545   size_t maxlenof_ori_left_wrist() const;
00546   float ori_left_wrist_confidence() const;
00547   void set_ori_left_wrist_confidence(const float new_ori_left_wrist_confidence);
00548   size_t maxlenof_ori_left_wrist_confidence() const;
00549   float * ori_left_hand() const;
00550   float ori_left_hand(unsigned int index) const;
00551   void set_ori_left_hand(unsigned int index, const float new_ori_left_hand);
00552   void set_ori_left_hand(const float * new_ori_left_hand);
00553   size_t maxlenof_ori_left_hand() const;
00554   float ori_left_hand_confidence() const;
00555   void set_ori_left_hand_confidence(const float new_ori_left_hand_confidence);
00556   size_t maxlenof_ori_left_hand_confidence() const;
00557   float * ori_left_fingertip() const;
00558   float ori_left_fingertip(unsigned int index) const;
00559   void set_ori_left_fingertip(unsigned int index, const float new_ori_left_fingertip);
00560   void set_ori_left_fingertip(const float * new_ori_left_fingertip);
00561   size_t maxlenof_ori_left_fingertip() const;
00562   float ori_left_fingertip_confidence() const;
00563   void set_ori_left_fingertip_confidence(const float new_ori_left_fingertip_confidence);
00564   size_t maxlenof_ori_left_fingertip_confidence() const;
00565   float * ori_right_collar() const;
00566   float ori_right_collar(unsigned int index) const;
00567   void set_ori_right_collar(unsigned int index, const float new_ori_right_collar);
00568   void set_ori_right_collar(const float * new_ori_right_collar);
00569   size_t maxlenof_ori_right_collar() const;
00570   float ori_right_collar_confidence() const;
00571   void set_ori_right_collar_confidence(const float new_ori_right_collar_confidence);
00572   size_t maxlenof_ori_right_collar_confidence() const;
00573   float * ori_right_shoulder() const;
00574   float ori_right_shoulder(unsigned int index) const;
00575   void set_ori_right_shoulder(unsigned int index, const float new_ori_right_shoulder);
00576   void set_ori_right_shoulder(const float * new_ori_right_shoulder);
00577   size_t maxlenof_ori_right_shoulder() const;
00578   float ori_right_shoulder_confidence() const;
00579   void set_ori_right_shoulder_confidence(const float new_ori_right_shoulder_confidence);
00580   size_t maxlenof_ori_right_shoulder_confidence() const;
00581   float * ori_right_elbow() const;
00582   float ori_right_elbow(unsigned int index) const;
00583   void set_ori_right_elbow(unsigned int index, const float new_ori_right_elbow);
00584   void set_ori_right_elbow(const float * new_ori_right_elbow);
00585   size_t maxlenof_ori_right_elbow() const;
00586   float ori_right_elbow_confidence() const;
00587   void set_ori_right_elbow_confidence(const float new_ori_right_elbow_confidence);
00588   size_t maxlenof_ori_right_elbow_confidence() const;
00589   float * ori_right_wrist() const;
00590   float ori_right_wrist(unsigned int index) const;
00591   void set_ori_right_wrist(unsigned int index, const float new_ori_right_wrist);
00592   void set_ori_right_wrist(const float * new_ori_right_wrist);
00593   size_t maxlenof_ori_right_wrist() const;
00594   float ori_right_wrist_confidence() const;
00595   void set_ori_right_wrist_confidence(const float new_ori_right_wrist_confidence);
00596   size_t maxlenof_ori_right_wrist_confidence() const;
00597   float * ori_right_hand() const;
00598   float ori_right_hand(unsigned int index) const;
00599   void set_ori_right_hand(unsigned int index, const float new_ori_right_hand);
00600   void set_ori_right_hand(const float * new_ori_right_hand);
00601   size_t maxlenof_ori_right_hand() const;
00602   float ori_right_hand_confidence() const;
00603   void set_ori_right_hand_confidence(const float new_ori_right_hand_confidence);
00604   size_t maxlenof_ori_right_hand_confidence() const;
00605   float * ori_right_fingertip() const;
00606   float ori_right_fingertip(unsigned int index) const;
00607   void set_ori_right_fingertip(unsigned int index, const float new_ori_right_fingertip);
00608   void set_ori_right_fingertip(const float * new_ori_right_fingertip);
00609   size_t maxlenof_ori_right_fingertip() const;
00610   float ori_right_fingertip_confidence() const;
00611   void set_ori_right_fingertip_confidence(const float new_ori_right_fingertip_confidence);
00612   size_t maxlenof_ori_right_fingertip_confidence() const;
00613   float * ori_left_hip() const;
00614   float ori_left_hip(unsigned int index) const;
00615   void set_ori_left_hip(unsigned int index, const float new_ori_left_hip);
00616   void set_ori_left_hip(const float * new_ori_left_hip);
00617   size_t maxlenof_ori_left_hip() const;
00618   float ori_left_hip_confidence() const;
00619   void set_ori_left_hip_confidence(const float new_ori_left_hip_confidence);
00620   size_t maxlenof_ori_left_hip_confidence() const;
00621   float * ori_left_knee() const;
00622   float ori_left_knee(unsigned int index) const;
00623   void set_ori_left_knee(unsigned int index, const float new_ori_left_knee);
00624   void set_ori_left_knee(const float * new_ori_left_knee);
00625   size_t maxlenof_ori_left_knee() const;
00626   float ori_left_knee_confidence() const;
00627   void set_ori_left_knee_confidence(const float new_ori_left_knee_confidence);
00628   size_t maxlenof_ori_left_knee_confidence() const;
00629   float * ori_left_ankle() const;
00630   float ori_left_ankle(unsigned int index) const;
00631   void set_ori_left_ankle(unsigned int index, const float new_ori_left_ankle);
00632   void set_ori_left_ankle(const float * new_ori_left_ankle);
00633   size_t maxlenof_ori_left_ankle() const;
00634   float ori_left_ankle_confidence() const;
00635   void set_ori_left_ankle_confidence(const float new_ori_left_ankle_confidence);
00636   size_t maxlenof_ori_left_ankle_confidence() const;
00637   float * ori_left_foot() const;
00638   float ori_left_foot(unsigned int index) const;
00639   void set_ori_left_foot(unsigned int index, const float new_ori_left_foot);
00640   void set_ori_left_foot(const float * new_ori_left_foot);
00641   size_t maxlenof_ori_left_foot() const;
00642   float ori_left_foot_confidence() const;
00643   void set_ori_left_foot_confidence(const float new_ori_left_foot_confidence);
00644   size_t maxlenof_ori_left_foot_confidence() const;
00645   float * ori_right_hip() const;
00646   float ori_right_hip(unsigned int index) const;
00647   void set_ori_right_hip(unsigned int index, const float new_ori_right_hip);
00648   void set_ori_right_hip(const float * new_ori_right_hip);
00649   size_t maxlenof_ori_right_hip() const;
00650   float ori_right_hip_confidence() const;
00651   void set_ori_right_hip_confidence(const float new_ori_right_hip_confidence);
00652   size_t maxlenof_ori_right_hip_confidence() const;
00653   float * ori_right_knee() const;
00654   float ori_right_knee(unsigned int index) const;
00655   void set_ori_right_knee(unsigned int index, const float new_ori_right_knee);
00656   void set_ori_right_knee(const float * new_ori_right_knee);
00657   size_t maxlenof_ori_right_knee() const;
00658   float ori_right_knee_confidence() const;
00659   void set_ori_right_knee_confidence(const float new_ori_right_knee_confidence);
00660   size_t maxlenof_ori_right_knee_confidence() const;
00661   float * ori_right_ankle() const;
00662   float ori_right_ankle(unsigned int index) const;
00663   void set_ori_right_ankle(unsigned int index, const float new_ori_right_ankle);
00664   void set_ori_right_ankle(const float * new_ori_right_ankle);
00665   size_t maxlenof_ori_right_ankle() const;
00666   float ori_right_ankle_confidence() const;
00667   void set_ori_right_ankle_confidence(const float new_ori_right_ankle_confidence);
00668   size_t maxlenof_ori_right_ankle_confidence() const;
00669   float * ori_right_foot() const;
00670   float ori_right_foot(unsigned int index) const;
00671   void set_ori_right_foot(unsigned int index, const float new_ori_right_foot);
00672   void set_ori_right_foot(const float * new_ori_right_foot);
00673   size_t maxlenof_ori_right_foot() const;
00674   float ori_right_foot_confidence() const;
00675   void set_ori_right_foot_confidence(const float new_ori_right_foot_confidence);
00676   size_t maxlenof_ori_right_foot_confidence() const;
00677   virtual Message * create_message(const char *type) const;
00678 
00679   virtual void copy_values(const Interface *other);
00680   virtual const char * enum_tostring(const char *enumtype, int val) const;
00681 
00682 };
00683 
00684 } // end namespace fawkes
00685 
00686 #endif