24 #include <interfaces/FacialExpressionInterface.h>
26 #include <core/exceptions/software.h>
44 FacialExpressionInterface::FacialExpressionInterface() : Interface()
46 data_size =
sizeof(FacialExpressionInterface_data_t);
48 data = (FacialExpressionInterface_data_t *)
data_ptr;
59 unsigned char tmp_hash[] = {0x1, 0xbd, 0xc6, 0x65, 0xb3, 0x10, 0xcb, 0x5f, 0xe8, 0x78, 0xdd, 0x6, 0xe, 0x82, 0x7f, 0x80};
64 FacialExpressionInterface::~FacialExpressionInterface()
76 case BROWS_DEFAULT:
return "BROWS_DEFAULT";
77 case BROWS_FROWN:
return "BROWS_FROWN";
78 case BROWS_LIFT:
return "BROWS_LIFT";
79 default:
return "UNKNOWN";
90 case EYES_DEFAULT:
return "EYES_DEFAULT";
91 case EYES_UP:
return "EYES_UP";
92 case EYES_DOWN:
return "EYES_DOWN";
93 case EYES_LEFT:
return "EYES_LEFT";
94 case EYES_RIGHT:
return "EYES_RIGHT";
95 case EYES_COOL:
return "EYES_COOL";
96 case EYES_CROSS:
return "EYES_CROSS";
97 case EYES_HEART:
return "EYES_HEART";
98 case EYES_DOLLAR:
return "EYES_DOLLAR";
99 default:
return "UNKNOWN";
110 case JOWL_DEFAULT:
return "JOWL_DEFAULT";
111 case JOWL_BLUSH:
return "JOWL_BLUSH";
112 case JOWL_TEARS:
return "JOWL_TEARS";
113 default:
return "UNKNOWN";
124 case MOUTH_DEFAULT:
return "MOUTH_DEFAULT";
125 case MOUTH_OPEN:
return "MOUTH_OPEN";
126 case MOUTH_CLOSE:
return "MOUTH_CLOSE";
127 case MOUTH_SMILE:
return "MOUTH_SMILE";
128 case MOUTH_SCOWL:
return "MOUTH_SCOWL";
129 default:
return "UNKNOWN";
160 data->brows_action = new_brows_action;
191 data->eyes_action = new_eyes_action;
222 data->jowl_action = new_jowl_action;
253 data->mouth_action = new_mouth_action;
261 if ( strncmp(
"MoveBrowsMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
263 }
else if ( strncmp(
"MoveEyesMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
265 }
else if ( strncmp(
"MoveJowlMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
267 }
else if ( strncmp(
"MoveMouthMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
271 "message type for this interface type.", type);
287 memcpy(data, oi->data,
sizeof(FacialExpressionInterface_data_t));
293 if (strcmp(enumtype,
"brows_t") == 0) {
294 return tostring_brows_t((
brows_t)val);
296 if (strcmp(enumtype,
"eyes_t") == 0) {
297 return tostring_eyes_t((
eyes_t)val);
299 if (strcmp(enumtype,
"jowl_t") == 0) {
300 return tostring_jowl_t((
jowl_t)val);
302 if (strcmp(enumtype,
"mouth_t") == 0) {
303 return tostring_mouth_t((
mouth_t)val);
321 data_size =
sizeof(MoveBrowsMessage_data_t);
324 data = (MoveBrowsMessage_data_t *)
data_ptr;
326 data->brows_action = ini_brows_action;
332 data_size =
sizeof(MoveBrowsMessage_data_t);
335 data = (MoveBrowsMessage_data_t *)
data_ptr;
354 data = (MoveBrowsMessage_data_t *)
data_ptr;
386 data->brows_action = new_brows_action;
411 data_size =
sizeof(MoveEyesMessage_data_t);
414 data = (MoveEyesMessage_data_t *)
data_ptr;
416 data->eyes_action = ini_eyes_action;
422 data_size =
sizeof(MoveEyesMessage_data_t);
425 data = (MoveEyesMessage_data_t *)
data_ptr;
444 data = (MoveEyesMessage_data_t *)
data_ptr;
476 data->eyes_action = new_eyes_action;
501 data_size =
sizeof(MoveJowlMessage_data_t);
504 data = (MoveJowlMessage_data_t *)
data_ptr;
506 data->jowl_action = ini_jowl_action;
512 data_size =
sizeof(MoveJowlMessage_data_t);
515 data = (MoveJowlMessage_data_t *)
data_ptr;
534 data = (MoveJowlMessage_data_t *)
data_ptr;
566 data->jowl_action = new_jowl_action;
591 data_size =
sizeof(MoveMouthMessage_data_t);
594 data = (MoveMouthMessage_data_t *)
data_ptr;
596 data->mouth_action = ini_mouth_action;
602 data_size =
sizeof(MoveMouthMessage_data_t);
605 data = (MoveMouthMessage_data_t *)
data_ptr;
624 data = (MoveMouthMessage_data_t *)
data_ptr;
656 data->mouth_action = new_mouth_action;
~MoveBrowsMessage()
Destructor.
virtual const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
void * data_ptr
Pointer to memory that contains local data.
size_t maxlenof_mouth_action() const
Get maximum length of mouth_action value.
void set_eyes_action(const eyes_t new_eyes_action)
Set eyes_action value.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
MoveEyesMessage()
Constructor.
const char * tostring_jowl_t(jowl_t value) const
Convert jowl_t constant to string.
mouth_t mouth_action() const
Get mouth_action value.
eyes_t
Action types for moving eyes.
size_t maxlenof_jowl_action() const
Get maximum length of jowl_action value.
eyes_t eyes_action() const
Get eyes_action value.
MoveEyesMessage Fawkes BlackBoard Interface Message.
void set_hash(unsigned char *ihash)
Set hash.
Fawkes library namespace.
Timestamp data, must be present and first entries for each interface data structs! This leans on time...
brows_t brows_action() const
Get brows_action value.
MoveMouthMessage()
Constructor.
void set_jowl_action(const jowl_t new_jowl_action)
Set jowl_action value.
Base class for all Fawkes BlackBoard interfaces.
size_t maxlenof_brows_action() const
Get maximum length of brows_action value.
MoveBrowsMessage Fawkes BlackBoard Interface Message.
eyes_t eyes_action() const
Get eyes_action value.
MoveJowlMessage()
Constructor.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
jowl_t jowl_action() const
Get jowl_action value.
virtual void copy_values(const Interface *other)
Copy values from other interface.
virtual Message * clone() const
Clone this message.
message_data_ts_t * data_ts
data timestamp aliasing pointer
unsigned int data_size
Size of memory needed to hold all data.
void add_messageinfo(const char *name)
Add an entry to the message info list.
virtual Message * clone() const
Clone this message.
bool data_changed
Indicator if data has changed.
MoveJowlMessage Fawkes BlackBoard Interface Message.
~MoveEyesMessage()
Destructor.
void * data_ptr
Pointer to local memory storage.
const char * tostring_mouth_t(mouth_t value) const
Convert mouth_t constant to string.
size_t maxlenof_mouth_action() const
Get maximum length of mouth_action value.
void set_jowl_action(const jowl_t new_jowl_action)
Set jowl_action value.
void set_brows_action(const brows_t new_brows_action)
Set brows_action value.
void set_mouth_action(const mouth_t new_mouth_action)
Set mouth_action value.
void set_mouth_action(const mouth_t new_mouth_action)
Set mouth_action value.
~MoveMouthMessage()
Destructor.
FacialExpressionInterface Fawkes BlackBoard Interface.
jowl_t
Action types for moving jowl.
mouth_t
Action types for moving mouth.
size_t maxlenof_eyes_action() const
Get maximum length of eyes_action value.
~MoveJowlMessage()
Destructor.
virtual Message * clone() const
Clone this message.
void set_brows_action(const brows_t new_brows_action)
Set brows_action value.
MoveMouthMessage Fawkes BlackBoard Interface Message.
jowl_t jowl_action() const
Get jowl_action value.
mouth_t mouth_action() const
Get mouth_action value.
brows_t brows_action() const
Get brows_action value.
void add_fieldinfo(interface_fieldtype_t type, const char *name, size_t length, void *value, const char *enumtype=0)
Add an entry to the info list.
const char * tostring_brows_t(brows_t value) const
Convert brows_t constant to string.
void set_eyes_action(const eyes_t new_eyes_action)
Set eyes_action value.
MoveBrowsMessage()
Constructor.
const char * tostring_eyes_t(eyes_t value) const
Convert eyes_t constant to string.
brows_t
Action types for moving brows.
const char * type() const
Get type of interface.
virtual Message * create_message(const char *type) const
Create message based on type name.
field with interface specific enum type
size_t maxlenof_eyes_action() const
Get maximum length of eyes_action value.
size_t maxlenof_brows_action() const
Get maximum length of brows_action value.
size_t maxlenof_jowl_action() const
Get maximum length of jowl_action value.
virtual Message * clone() const
Clone this message.