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