24 #include <interfaces/FacerInterface.h>
26 #include <core/exceptions/software.h>
50 FacerInterface::FacerInterface() : Interface()
52 data_size =
sizeof(FacerInterface_data_t);
54 data = (FacerInterface_data_t *)
data_ptr;
57 enum_map_if_facer_opmode_t[(int)OPMODE_DISABLED] =
"OPMODE_DISABLED";
58 enum_map_if_facer_opmode_t[(int)OPMODE_DETECTION] =
"OPMODE_DETECTION";
59 enum_map_if_facer_opmode_t[(int)OPMODE_RECOGNITION] =
"OPMODE_RECOGNITION";
60 enum_map_if_facer_opmode_t[(int)OPMODE_LEARNING] =
"OPMODE_LEARNING";
61 enum_map_if_facer_opmode_t[(int)OPMODE_GENDER] =
"OPMODE_GENDER";
62 add_fieldinfo(
IFT_ENUM,
"opmode", 1, &data->opmode,
"if_facer_opmode_t", &enum_map_if_facer_opmode_t);
88 unsigned char tmp_hash[] = {0x5d, 0xd, 0xac, 0xa1, 0xe1, 0x23, 0x82, 0xc4, 0x22, 0xed, 0x8b, 0xa7, 0x3e, 0x1f, 0x2d, 0x7c};
93 FacerInterface::~FacerInterface()
105 case OPMODE_DISABLED:
return "OPMODE_DISABLED";
106 case OPMODE_DETECTION:
return "OPMODE_DETECTION";
107 case OPMODE_RECOGNITION:
return "OPMODE_RECOGNITION";
108 case OPMODE_LEARNING:
return "OPMODE_LEARNING";
109 case OPMODE_GENDER:
return "OPMODE_GENDER";
110 default:
return "UNKNOWN";
157 return data->num_identities;
191 return data->recognized_identity;
225 return data->recognized_name;
259 return data->num_detections;
293 return data->num_recognitions;
327 return data->most_likely_identity;
361 return data->most_likely_gender;
396 return data->history_ratio;
431 return data->sec_since_detection;
466 return data->visibility_history;
502 return data->learning_in_progress;
539 return data->searching_person;
575 return data->recording_progress;
609 return data->bearing;
677 return data->requested_index;
711 return data->requested_name;
745 return data->index_last_learned;
774 if ( strncmp(
"LearnFaceMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
776 }
else if ( strncmp(
"SetOpmodeMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
778 }
else if ( strncmp(
"EnableIdentityMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
780 }
else if ( strncmp(
"SetNameMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
782 }
else if ( strncmp(
"GetNameMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
784 }
else if ( strncmp(
"StartSearchPersonMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
786 }
else if ( strncmp(
"StopSearchPersonMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
790 "message type for this interface type.",
type);
806 memcpy(data, oi->data,
sizeof(FacerInterface_data_t));
812 if (strcmp(enumtype,
"if_facer_opmode_t") == 0) {
831 data_size =
sizeof(LearnFaceMessage_data_t);
834 data = (LearnFaceMessage_data_t *)
data_ptr;
836 strncpy(data->name, ini_name, 64-1);
837 data->name[64-1] = 0;
842 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
848 data_size =
sizeof(LearnFaceMessage_data_t);
851 data = (LearnFaceMessage_data_t *)
data_ptr;
857 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
875 data = (LearnFaceMessage_data_t *)
data_ptr;
932 data_size =
sizeof(SetOpmodeMessage_data_t);
935 data = (SetOpmodeMessage_data_t *)
data_ptr;
937 data->opmode = ini_opmode;
942 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
943 add_fieldinfo(
IFT_ENUM,
"opmode", 1, &data->opmode,
"if_facer_opmode_t", &enum_map_if_facer_opmode_t);
948 data_size =
sizeof(SetOpmodeMessage_data_t);
951 data = (SetOpmodeMessage_data_t *)
data_ptr;
957 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
958 add_fieldinfo(
IFT_ENUM,
"opmode", 1, &data->opmode,
"if_facer_opmode_t", &enum_map_if_facer_opmode_t);
975 data = (SetOpmodeMessage_data_t *)
data_ptr;
1037 data_size =
sizeof(EnableIdentityMessage_data_t);
1040 data = (EnableIdentityMessage_data_t *)
data_ptr;
1042 data->index = ini_index;
1043 data->enable = ini_enable;
1048 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
1055 data_size =
sizeof(EnableIdentityMessage_data_t);
1058 data = (EnableIdentityMessage_data_t *)
data_ptr;
1064 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
1083 data = (EnableIdentityMessage_data_t *)
data_ptr;
1125 return data->enable;
1171 data_size =
sizeof(SetNameMessage_data_t);
1174 data = (SetNameMessage_data_t *)
data_ptr;
1176 data->index = ini_index;
1177 strncpy(data->name, ini_name, 64-1);
1178 data->name[64-1] = 0;
1183 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
1190 data_size =
sizeof(SetNameMessage_data_t);
1193 data = (SetNameMessage_data_t *)
data_ptr;
1199 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
1218 data = (SetNameMessage_data_t *)
data_ptr;
1305 data_size =
sizeof(GetNameMessage_data_t);
1308 data = (GetNameMessage_data_t *)
data_ptr;
1310 data->index = ini_index;
1315 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
1321 data_size =
sizeof(GetNameMessage_data_t);
1324 data = (GetNameMessage_data_t *)
data_ptr;
1330 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
1348 data = (GetNameMessage_data_t *)
data_ptr;
1405 data_size =
sizeof(StartSearchPersonMessage_data_t);
1408 data = (StartSearchPersonMessage_data_t *)
data_ptr;
1410 data->index = ini_index;
1415 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
1421 data_size =
sizeof(StartSearchPersonMessage_data_t);
1424 data = (StartSearchPersonMessage_data_t *)
data_ptr;
1430 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
1448 data = (StartSearchPersonMessage_data_t *)
data_ptr;
1503 data_size =
sizeof(StopSearchPersonMessage_data_t);
1506 data = (StopSearchPersonMessage_data_t *)
data_ptr;
1512 enum_map_if_facer_opmode_t[(int)
OPMODE_GENDER] =
"OPMODE_GENDER";
1529 data = (StopSearchPersonMessage_data_t *)
data_ptr;