24 #include <interfaces/HumanSkeletonProjectionInterface.h>
26 #include <core/exceptions/software.h>
46 HumanSkeletonProjectionInterface::HumanSkeletonProjectionInterface() : Interface()
48 data_size =
sizeof(HumanSkeletonProjectionInterface_data_t);
49 data_ptr = malloc(data_size);
50 data = (HumanSkeletonProjectionInterface_data_t *)data_ptr;
51 data_ts = (interface_data_ts_t *)data_ptr;
52 memset(data_ptr, 0, data_size);
53 add_fieldinfo(IFT_FLOAT,
"horizontal_fov", 1, &data->horizontal_fov);
54 add_fieldinfo(IFT_FLOAT,
"vertical_fov", 1, &data->vertical_fov);
55 add_fieldinfo(IFT_UINT32,
"res_x", 1, &data->res_x);
56 add_fieldinfo(IFT_UINT32,
"res_y", 1, &data->res_y);
57 add_fieldinfo(IFT_UINT16,
"max_depth", 1, &data->max_depth);
58 add_fieldinfo(IFT_FLOAT,
"proj_com", 2, &data->proj_com);
59 add_fieldinfo(IFT_FLOAT,
"proj_head", 2, &data->proj_head);
60 add_fieldinfo(IFT_FLOAT,
"proj_neck", 2, &data->proj_neck);
61 add_fieldinfo(IFT_FLOAT,
"proj_torso", 2, &data->proj_torso);
62 add_fieldinfo(IFT_FLOAT,
"proj_waist", 2, &data->proj_waist);
63 add_fieldinfo(IFT_FLOAT,
"proj_left_collar", 2, &data->proj_left_collar);
64 add_fieldinfo(IFT_FLOAT,
"proj_left_shoulder", 2, &data->proj_left_shoulder);
65 add_fieldinfo(IFT_FLOAT,
"proj_left_elbow", 2, &data->proj_left_elbow);
66 add_fieldinfo(IFT_FLOAT,
"proj_left_wrist", 2, &data->proj_left_wrist);
67 add_fieldinfo(IFT_FLOAT,
"proj_left_hand", 2, &data->proj_left_hand);
68 add_fieldinfo(IFT_FLOAT,
"proj_left_fingertip", 2, &data->proj_left_fingertip);
69 add_fieldinfo(IFT_FLOAT,
"proj_right_collar", 2, &data->proj_right_collar);
70 add_fieldinfo(IFT_FLOAT,
"proj_right_shoulder", 2, &data->proj_right_shoulder);
71 add_fieldinfo(IFT_FLOAT,
"proj_right_elbow", 2, &data->proj_right_elbow);
72 add_fieldinfo(IFT_FLOAT,
"proj_right_wrist", 2, &data->proj_right_wrist);
73 add_fieldinfo(IFT_FLOAT,
"proj_right_hand", 2, &data->proj_right_hand);
74 add_fieldinfo(IFT_FLOAT,
"proj_right_fingertip", 2, &data->proj_right_fingertip);
75 add_fieldinfo(IFT_FLOAT,
"proj_left_hip", 2, &data->proj_left_hip);
76 add_fieldinfo(IFT_FLOAT,
"proj_left_knee", 2, &data->proj_left_knee);
77 add_fieldinfo(IFT_FLOAT,
"proj_left_ankle", 2, &data->proj_left_ankle);
78 add_fieldinfo(IFT_FLOAT,
"proj_left_foot", 2, &data->proj_left_foot);
79 add_fieldinfo(IFT_FLOAT,
"proj_right_hip", 2, &data->proj_right_hip);
80 add_fieldinfo(IFT_FLOAT,
"proj_right_knee", 2, &data->proj_right_knee);
81 add_fieldinfo(IFT_FLOAT,
"proj_right_ankle", 2, &data->proj_right_ankle);
82 add_fieldinfo(IFT_FLOAT,
"proj_right_foot", 2, &data->proj_right_foot);
83 unsigned char tmp_hash[] = {0x71, 0xb2, 0x40, 0x3e, 0xa, 0x85, 0xd5, 0xcc, 0x77, 0xeb, 0xf2, 0xf1, 0xa9, 0x9c, 0xec, 0xf3};
88 HumanSkeletonProjectionInterface::~HumanSkeletonProjectionInterface()
98 HumanSkeletonProjectionInterface::horizontal_fov()
const
100 return data->horizontal_fov;
108 HumanSkeletonProjectionInterface::maxlenof_horizontal_fov()
const
118 HumanSkeletonProjectionInterface::set_horizontal_fov(
const float new_horizontal_fov)
120 data->horizontal_fov = new_horizontal_fov;
129 HumanSkeletonProjectionInterface::vertical_fov()
const
131 return data->vertical_fov;
139 HumanSkeletonProjectionInterface::maxlenof_vertical_fov()
const
149 HumanSkeletonProjectionInterface::set_vertical_fov(
const float new_vertical_fov)
151 data->vertical_fov = new_vertical_fov;
160 HumanSkeletonProjectionInterface::res_x()
const
170 HumanSkeletonProjectionInterface::maxlenof_res_x()
const
180 HumanSkeletonProjectionInterface::set_res_x(
const uint32_t new_res_x)
182 data->res_x = new_res_x;
191 HumanSkeletonProjectionInterface::res_y()
const
201 HumanSkeletonProjectionInterface::maxlenof_res_y()
const
211 HumanSkeletonProjectionInterface::set_res_y(
const uint32_t new_res_y)
213 data->res_y = new_res_y;
222 HumanSkeletonProjectionInterface::max_depth()
const
224 return data->max_depth;
232 HumanSkeletonProjectionInterface::maxlenof_max_depth()
const
242 HumanSkeletonProjectionInterface::set_max_depth(
const uint16_t new_max_depth)
244 data->max_depth = new_max_depth;
253 HumanSkeletonProjectionInterface::proj_com()
const
255 return data->proj_com;
265 HumanSkeletonProjectionInterface::proj_com(
unsigned int index)
const
268 throw Exception(
"Index value %u out of bounds (0..2)", index);
270 return data->proj_com[index];
278 HumanSkeletonProjectionInterface::maxlenof_proj_com()
const
288 HumanSkeletonProjectionInterface::set_proj_com(
const float * new_proj_com)
290 memcpy(data->proj_com, new_proj_com,
sizeof(
float) * 2);
300 HumanSkeletonProjectionInterface::set_proj_com(
unsigned int index,
const float new_proj_com)
303 throw Exception(
"Index value %u out of bounds (0..2)", index);
305 data->proj_com[index] = new_proj_com;
313 HumanSkeletonProjectionInterface::proj_head()
const
315 return data->proj_head;
325 HumanSkeletonProjectionInterface::proj_head(
unsigned int index)
const
328 throw Exception(
"Index value %u out of bounds (0..2)", index);
330 return data->proj_head[index];
338 HumanSkeletonProjectionInterface::maxlenof_proj_head()
const
348 HumanSkeletonProjectionInterface::set_proj_head(
const float * new_proj_head)
350 memcpy(data->proj_head, new_proj_head,
sizeof(
float) * 2);
360 HumanSkeletonProjectionInterface::set_proj_head(
unsigned int index,
const float new_proj_head)
363 throw Exception(
"Index value %u out of bounds (0..2)", index);
365 data->proj_head[index] = new_proj_head;
373 HumanSkeletonProjectionInterface::proj_neck()
const
375 return data->proj_neck;
385 HumanSkeletonProjectionInterface::proj_neck(
unsigned int index)
const
388 throw Exception(
"Index value %u out of bounds (0..2)", index);
390 return data->proj_neck[index];
398 HumanSkeletonProjectionInterface::maxlenof_proj_neck()
const
408 HumanSkeletonProjectionInterface::set_proj_neck(
const float * new_proj_neck)
410 memcpy(data->proj_neck, new_proj_neck,
sizeof(
float) * 2);
420 HumanSkeletonProjectionInterface::set_proj_neck(
unsigned int index,
const float new_proj_neck)
423 throw Exception(
"Index value %u out of bounds (0..2)", index);
425 data->proj_neck[index] = new_proj_neck;
433 HumanSkeletonProjectionInterface::proj_torso()
const
435 return data->proj_torso;
445 HumanSkeletonProjectionInterface::proj_torso(
unsigned int index)
const
448 throw Exception(
"Index value %u out of bounds (0..2)", index);
450 return data->proj_torso[index];
458 HumanSkeletonProjectionInterface::maxlenof_proj_torso()
const
468 HumanSkeletonProjectionInterface::set_proj_torso(
const float * new_proj_torso)
470 memcpy(data->proj_torso, new_proj_torso,
sizeof(
float) * 2);
480 HumanSkeletonProjectionInterface::set_proj_torso(
unsigned int index,
const float new_proj_torso)
483 throw Exception(
"Index value %u out of bounds (0..2)", index);
485 data->proj_torso[index] = new_proj_torso;
493 HumanSkeletonProjectionInterface::proj_waist()
const
495 return data->proj_waist;
505 HumanSkeletonProjectionInterface::proj_waist(
unsigned int index)
const
508 throw Exception(
"Index value %u out of bounds (0..2)", index);
510 return data->proj_waist[index];
518 HumanSkeletonProjectionInterface::maxlenof_proj_waist()
const
528 HumanSkeletonProjectionInterface::set_proj_waist(
const float * new_proj_waist)
530 memcpy(data->proj_waist, new_proj_waist,
sizeof(
float) * 2);
540 HumanSkeletonProjectionInterface::set_proj_waist(
unsigned int index,
const float new_proj_waist)
543 throw Exception(
"Index value %u out of bounds (0..2)", index);
545 data->proj_waist[index] = new_proj_waist;
554 HumanSkeletonProjectionInterface::proj_left_collar()
const
556 return data->proj_left_collar;
567 HumanSkeletonProjectionInterface::proj_left_collar(
unsigned int index)
const
570 throw Exception(
"Index value %u out of bounds (0..2)", index);
572 return data->proj_left_collar[index];
580 HumanSkeletonProjectionInterface::maxlenof_proj_left_collar()
const
591 HumanSkeletonProjectionInterface::set_proj_left_collar(
const float * new_proj_left_collar)
593 memcpy(data->proj_left_collar, new_proj_left_collar,
sizeof(
float) * 2);
604 HumanSkeletonProjectionInterface::set_proj_left_collar(
unsigned int index,
const float new_proj_left_collar)
607 throw Exception(
"Index value %u out of bounds (0..2)", index);
609 data->proj_left_collar[index] = new_proj_left_collar;
618 HumanSkeletonProjectionInterface::proj_left_shoulder()
const
620 return data->proj_left_shoulder;
631 HumanSkeletonProjectionInterface::proj_left_shoulder(
unsigned int index)
const
634 throw Exception(
"Index value %u out of bounds (0..2)", index);
636 return data->proj_left_shoulder[index];
644 HumanSkeletonProjectionInterface::maxlenof_proj_left_shoulder()
const
655 HumanSkeletonProjectionInterface::set_proj_left_shoulder(
const float * new_proj_left_shoulder)
657 memcpy(data->proj_left_shoulder, new_proj_left_shoulder,
sizeof(
float) * 2);
668 HumanSkeletonProjectionInterface::set_proj_left_shoulder(
unsigned int index,
const float new_proj_left_shoulder)
671 throw Exception(
"Index value %u out of bounds (0..2)", index);
673 data->proj_left_shoulder[index] = new_proj_left_shoulder;
682 HumanSkeletonProjectionInterface::proj_left_elbow()
const
684 return data->proj_left_elbow;
695 HumanSkeletonProjectionInterface::proj_left_elbow(
unsigned int index)
const
698 throw Exception(
"Index value %u out of bounds (0..2)", index);
700 return data->proj_left_elbow[index];
708 HumanSkeletonProjectionInterface::maxlenof_proj_left_elbow()
const
719 HumanSkeletonProjectionInterface::set_proj_left_elbow(
const float * new_proj_left_elbow)
721 memcpy(data->proj_left_elbow, new_proj_left_elbow,
sizeof(
float) * 2);
732 HumanSkeletonProjectionInterface::set_proj_left_elbow(
unsigned int index,
const float new_proj_left_elbow)
735 throw Exception(
"Index value %u out of bounds (0..2)", index);
737 data->proj_left_elbow[index] = new_proj_left_elbow;
746 HumanSkeletonProjectionInterface::proj_left_wrist()
const
748 return data->proj_left_wrist;
759 HumanSkeletonProjectionInterface::proj_left_wrist(
unsigned int index)
const
762 throw Exception(
"Index value %u out of bounds (0..2)", index);
764 return data->proj_left_wrist[index];
772 HumanSkeletonProjectionInterface::maxlenof_proj_left_wrist()
const
783 HumanSkeletonProjectionInterface::set_proj_left_wrist(
const float * new_proj_left_wrist)
785 memcpy(data->proj_left_wrist, new_proj_left_wrist,
sizeof(
float) * 2);
796 HumanSkeletonProjectionInterface::set_proj_left_wrist(
unsigned int index,
const float new_proj_left_wrist)
799 throw Exception(
"Index value %u out of bounds (0..2)", index);
801 data->proj_left_wrist[index] = new_proj_left_wrist;
810 HumanSkeletonProjectionInterface::proj_left_hand()
const
812 return data->proj_left_hand;
823 HumanSkeletonProjectionInterface::proj_left_hand(
unsigned int index)
const
826 throw Exception(
"Index value %u out of bounds (0..2)", index);
828 return data->proj_left_hand[index];
836 HumanSkeletonProjectionInterface::maxlenof_proj_left_hand()
const
847 HumanSkeletonProjectionInterface::set_proj_left_hand(
const float * new_proj_left_hand)
849 memcpy(data->proj_left_hand, new_proj_left_hand,
sizeof(
float) * 2);
860 HumanSkeletonProjectionInterface::set_proj_left_hand(
unsigned int index,
const float new_proj_left_hand)
863 throw Exception(
"Index value %u out of bounds (0..2)", index);
865 data->proj_left_hand[index] = new_proj_left_hand;
874 HumanSkeletonProjectionInterface::proj_left_fingertip()
const
876 return data->proj_left_fingertip;
887 HumanSkeletonProjectionInterface::proj_left_fingertip(
unsigned int index)
const
890 throw Exception(
"Index value %u out of bounds (0..2)", index);
892 return data->proj_left_fingertip[index];
900 HumanSkeletonProjectionInterface::maxlenof_proj_left_fingertip()
const
911 HumanSkeletonProjectionInterface::set_proj_left_fingertip(
const float * new_proj_left_fingertip)
913 memcpy(data->proj_left_fingertip, new_proj_left_fingertip,
sizeof(
float) * 2);
924 HumanSkeletonProjectionInterface::set_proj_left_fingertip(
unsigned int index,
const float new_proj_left_fingertip)
927 throw Exception(
"Index value %u out of bounds (0..2)", index);
929 data->proj_left_fingertip[index] = new_proj_left_fingertip;
938 HumanSkeletonProjectionInterface::proj_right_collar()
const
940 return data->proj_right_collar;
951 HumanSkeletonProjectionInterface::proj_right_collar(
unsigned int index)
const
954 throw Exception(
"Index value %u out of bounds (0..2)", index);
956 return data->proj_right_collar[index];
964 HumanSkeletonProjectionInterface::maxlenof_proj_right_collar()
const
975 HumanSkeletonProjectionInterface::set_proj_right_collar(
const float * new_proj_right_collar)
977 memcpy(data->proj_right_collar, new_proj_right_collar,
sizeof(
float) * 2);
988 HumanSkeletonProjectionInterface::set_proj_right_collar(
unsigned int index,
const float new_proj_right_collar)
991 throw Exception(
"Index value %u out of bounds (0..2)", index);
993 data->proj_right_collar[index] = new_proj_right_collar;
1002 HumanSkeletonProjectionInterface::proj_right_shoulder()
const
1004 return data->proj_right_shoulder;
1015 HumanSkeletonProjectionInterface::proj_right_shoulder(
unsigned int index)
const
1018 throw Exception(
"Index value %u out of bounds (0..2)", index);
1020 return data->proj_right_shoulder[index];
1028 HumanSkeletonProjectionInterface::maxlenof_proj_right_shoulder()
const
1039 HumanSkeletonProjectionInterface::set_proj_right_shoulder(
const float * new_proj_right_shoulder)
1041 memcpy(data->proj_right_shoulder, new_proj_right_shoulder,
sizeof(
float) * 2);
1042 data_changed =
true;
1052 HumanSkeletonProjectionInterface::set_proj_right_shoulder(
unsigned int index,
const float new_proj_right_shoulder)
1055 throw Exception(
"Index value %u out of bounds (0..2)", index);
1057 data->proj_right_shoulder[index] = new_proj_right_shoulder;
1058 data_changed =
true;
1066 HumanSkeletonProjectionInterface::proj_right_elbow()
const
1068 return data->proj_right_elbow;
1079 HumanSkeletonProjectionInterface::proj_right_elbow(
unsigned int index)
const
1082 throw Exception(
"Index value %u out of bounds (0..2)", index);
1084 return data->proj_right_elbow[index];
1092 HumanSkeletonProjectionInterface::maxlenof_proj_right_elbow()
const
1103 HumanSkeletonProjectionInterface::set_proj_right_elbow(
const float * new_proj_right_elbow)
1105 memcpy(data->proj_right_elbow, new_proj_right_elbow,
sizeof(
float) * 2);
1106 data_changed =
true;
1116 HumanSkeletonProjectionInterface::set_proj_right_elbow(
unsigned int index,
const float new_proj_right_elbow)
1119 throw Exception(
"Index value %u out of bounds (0..2)", index);
1121 data->proj_right_elbow[index] = new_proj_right_elbow;
1122 data_changed =
true;
1130 HumanSkeletonProjectionInterface::proj_right_wrist()
const
1132 return data->proj_right_wrist;
1143 HumanSkeletonProjectionInterface::proj_right_wrist(
unsigned int index)
const
1146 throw Exception(
"Index value %u out of bounds (0..2)", index);
1148 return data->proj_right_wrist[index];
1156 HumanSkeletonProjectionInterface::maxlenof_proj_right_wrist()
const
1167 HumanSkeletonProjectionInterface::set_proj_right_wrist(
const float * new_proj_right_wrist)
1169 memcpy(data->proj_right_wrist, new_proj_right_wrist,
sizeof(
float) * 2);
1170 data_changed =
true;
1180 HumanSkeletonProjectionInterface::set_proj_right_wrist(
unsigned int index,
const float new_proj_right_wrist)
1183 throw Exception(
"Index value %u out of bounds (0..2)", index);
1185 data->proj_right_wrist[index] = new_proj_right_wrist;
1186 data_changed =
true;
1194 HumanSkeletonProjectionInterface::proj_right_hand()
const
1196 return data->proj_right_hand;
1207 HumanSkeletonProjectionInterface::proj_right_hand(
unsigned int index)
const
1210 throw Exception(
"Index value %u out of bounds (0..2)", index);
1212 return data->proj_right_hand[index];
1220 HumanSkeletonProjectionInterface::maxlenof_proj_right_hand()
const
1231 HumanSkeletonProjectionInterface::set_proj_right_hand(
const float * new_proj_right_hand)
1233 memcpy(data->proj_right_hand, new_proj_right_hand,
sizeof(
float) * 2);
1234 data_changed =
true;
1244 HumanSkeletonProjectionInterface::set_proj_right_hand(
unsigned int index,
const float new_proj_right_hand)
1247 throw Exception(
"Index value %u out of bounds (0..2)", index);
1249 data->proj_right_hand[index] = new_proj_right_hand;
1250 data_changed =
true;
1258 HumanSkeletonProjectionInterface::proj_right_fingertip()
const
1260 return data->proj_right_fingertip;
1271 HumanSkeletonProjectionInterface::proj_right_fingertip(
unsigned int index)
const
1274 throw Exception(
"Index value %u out of bounds (0..2)", index);
1276 return data->proj_right_fingertip[index];
1284 HumanSkeletonProjectionInterface::maxlenof_proj_right_fingertip()
const
1295 HumanSkeletonProjectionInterface::set_proj_right_fingertip(
const float * new_proj_right_fingertip)
1297 memcpy(data->proj_right_fingertip, new_proj_right_fingertip,
sizeof(
float) * 2);
1298 data_changed =
true;
1308 HumanSkeletonProjectionInterface::set_proj_right_fingertip(
unsigned int index,
const float new_proj_right_fingertip)
1311 throw Exception(
"Index value %u out of bounds (0..2)", index);
1313 data->proj_right_fingertip[index] = new_proj_right_fingertip;
1314 data_changed =
true;
1322 HumanSkeletonProjectionInterface::proj_left_hip()
const
1324 return data->proj_left_hip;
1335 HumanSkeletonProjectionInterface::proj_left_hip(
unsigned int index)
const
1338 throw Exception(
"Index value %u out of bounds (0..2)", index);
1340 return data->proj_left_hip[index];
1348 HumanSkeletonProjectionInterface::maxlenof_proj_left_hip()
const
1359 HumanSkeletonProjectionInterface::set_proj_left_hip(
const float * new_proj_left_hip)
1361 memcpy(data->proj_left_hip, new_proj_left_hip,
sizeof(
float) * 2);
1362 data_changed =
true;
1372 HumanSkeletonProjectionInterface::set_proj_left_hip(
unsigned int index,
const float new_proj_left_hip)
1375 throw Exception(
"Index value %u out of bounds (0..2)", index);
1377 data->proj_left_hip[index] = new_proj_left_hip;
1378 data_changed =
true;
1386 HumanSkeletonProjectionInterface::proj_left_knee()
const
1388 return data->proj_left_knee;
1399 HumanSkeletonProjectionInterface::proj_left_knee(
unsigned int index)
const
1402 throw Exception(
"Index value %u out of bounds (0..2)", index);
1404 return data->proj_left_knee[index];
1412 HumanSkeletonProjectionInterface::maxlenof_proj_left_knee()
const
1423 HumanSkeletonProjectionInterface::set_proj_left_knee(
const float * new_proj_left_knee)
1425 memcpy(data->proj_left_knee, new_proj_left_knee,
sizeof(
float) * 2);
1426 data_changed =
true;
1436 HumanSkeletonProjectionInterface::set_proj_left_knee(
unsigned int index,
const float new_proj_left_knee)
1439 throw Exception(
"Index value %u out of bounds (0..2)", index);
1441 data->proj_left_knee[index] = new_proj_left_knee;
1442 data_changed =
true;
1450 HumanSkeletonProjectionInterface::proj_left_ankle()
const
1452 return data->proj_left_ankle;
1463 HumanSkeletonProjectionInterface::proj_left_ankle(
unsigned int index)
const
1466 throw Exception(
"Index value %u out of bounds (0..2)", index);
1468 return data->proj_left_ankle[index];
1476 HumanSkeletonProjectionInterface::maxlenof_proj_left_ankle()
const
1487 HumanSkeletonProjectionInterface::set_proj_left_ankle(
const float * new_proj_left_ankle)
1489 memcpy(data->proj_left_ankle, new_proj_left_ankle,
sizeof(
float) * 2);
1490 data_changed =
true;
1500 HumanSkeletonProjectionInterface::set_proj_left_ankle(
unsigned int index,
const float new_proj_left_ankle)
1503 throw Exception(
"Index value %u out of bounds (0..2)", index);
1505 data->proj_left_ankle[index] = new_proj_left_ankle;
1506 data_changed =
true;
1514 HumanSkeletonProjectionInterface::proj_left_foot()
const
1516 return data->proj_left_foot;
1527 HumanSkeletonProjectionInterface::proj_left_foot(
unsigned int index)
const
1530 throw Exception(
"Index value %u out of bounds (0..2)", index);
1532 return data->proj_left_foot[index];
1540 HumanSkeletonProjectionInterface::maxlenof_proj_left_foot()
const
1551 HumanSkeletonProjectionInterface::set_proj_left_foot(
const float * new_proj_left_foot)
1553 memcpy(data->proj_left_foot, new_proj_left_foot,
sizeof(
float) * 2);
1554 data_changed =
true;
1564 HumanSkeletonProjectionInterface::set_proj_left_foot(
unsigned int index,
const float new_proj_left_foot)
1567 throw Exception(
"Index value %u out of bounds (0..2)", index);
1569 data->proj_left_foot[index] = new_proj_left_foot;
1570 data_changed =
true;
1578 HumanSkeletonProjectionInterface::proj_right_hip()
const
1580 return data->proj_right_hip;
1591 HumanSkeletonProjectionInterface::proj_right_hip(
unsigned int index)
const
1594 throw Exception(
"Index value %u out of bounds (0..2)", index);
1596 return data->proj_right_hip[index];
1604 HumanSkeletonProjectionInterface::maxlenof_proj_right_hip()
const
1615 HumanSkeletonProjectionInterface::set_proj_right_hip(
const float * new_proj_right_hip)
1617 memcpy(data->proj_right_hip, new_proj_right_hip,
sizeof(
float) * 2);
1618 data_changed =
true;
1628 HumanSkeletonProjectionInterface::set_proj_right_hip(
unsigned int index,
const float new_proj_right_hip)
1631 throw Exception(
"Index value %u out of bounds (0..2)", index);
1633 data->proj_right_hip[index] = new_proj_right_hip;
1634 data_changed =
true;
1642 HumanSkeletonProjectionInterface::proj_right_knee()
const
1644 return data->proj_right_knee;
1655 HumanSkeletonProjectionInterface::proj_right_knee(
unsigned int index)
const
1658 throw Exception(
"Index value %u out of bounds (0..2)", index);
1660 return data->proj_right_knee[index];
1668 HumanSkeletonProjectionInterface::maxlenof_proj_right_knee()
const
1679 HumanSkeletonProjectionInterface::set_proj_right_knee(
const float * new_proj_right_knee)
1681 memcpy(data->proj_right_knee, new_proj_right_knee,
sizeof(
float) * 2);
1682 data_changed =
true;
1692 HumanSkeletonProjectionInterface::set_proj_right_knee(
unsigned int index,
const float new_proj_right_knee)
1695 throw Exception(
"Index value %u out of bounds (0..2)", index);
1697 data->proj_right_knee[index] = new_proj_right_knee;
1698 data_changed =
true;
1706 HumanSkeletonProjectionInterface::proj_right_ankle()
const
1708 return data->proj_right_ankle;
1719 HumanSkeletonProjectionInterface::proj_right_ankle(
unsigned int index)
const
1722 throw Exception(
"Index value %u out of bounds (0..2)", index);
1724 return data->proj_right_ankle[index];
1732 HumanSkeletonProjectionInterface::maxlenof_proj_right_ankle()
const
1743 HumanSkeletonProjectionInterface::set_proj_right_ankle(
const float * new_proj_right_ankle)
1745 memcpy(data->proj_right_ankle, new_proj_right_ankle,
sizeof(
float) * 2);
1746 data_changed =
true;
1756 HumanSkeletonProjectionInterface::set_proj_right_ankle(
unsigned int index,
const float new_proj_right_ankle)
1759 throw Exception(
"Index value %u out of bounds (0..2)", index);
1761 data->proj_right_ankle[index] = new_proj_right_ankle;
1762 data_changed =
true;
1770 HumanSkeletonProjectionInterface::proj_right_foot()
const
1772 return data->proj_right_foot;
1783 HumanSkeletonProjectionInterface::proj_right_foot(
unsigned int index)
const
1786 throw Exception(
"Index value %u out of bounds (0..2)", index);
1788 return data->proj_right_foot[index];
1796 HumanSkeletonProjectionInterface::maxlenof_proj_right_foot()
const
1807 HumanSkeletonProjectionInterface::set_proj_right_foot(
const float * new_proj_right_foot)
1809 memcpy(data->proj_right_foot, new_proj_right_foot,
sizeof(
float) * 2);
1810 data_changed =
true;
1820 HumanSkeletonProjectionInterface::set_proj_right_foot(
unsigned int index,
const float new_proj_right_foot)
1823 throw Exception(
"Index value %u out of bounds (0..2)", index);
1825 data->proj_right_foot[index] = new_proj_right_foot;
1826 data_changed =
true;
1830 HumanSkeletonProjectionInterface::create_message(
const char *type)
const
1833 "message type for this interface type.", type);
1841 HumanSkeletonProjectionInterface::copy_values(
const Interface *other)
1846 type(), other->
type());
1848 memcpy(data, oi->data,
sizeof(HumanSkeletonProjectionInterface_data_t));
1852 HumanSkeletonProjectionInterface::enum_tostring(
const char *enumtype,
int val)
const
1863 HumanSkeletonProjectionInterface::message_valid(
const Message *message)
const
Base class for all messages passed through interfaces in Fawkes BlackBoard.
HumanSkeletonProjectionInterface Fawkes BlackBoard Interface.
Fawkes library namespace.
Base class for all Fawkes BlackBoard interfaces.
Base class for exceptions in Fawkes.
const char * type() const
Get type of interface.