Data Structures | |
struct | evas_body_list_t |
List of tracked bodies (a.k.a. "markersets"). More... | |
struct | evas_body_markers_list_t |
Body markers definition. More... | |
struct | evas_body_segments_list_t |
Body segments definition. More... | |
struct | evas_body_dofs_list_t |
Body dofs definition. More... | |
Typedefs | |
typedef struct evas_body_list_t | evas_body_list_t |
List of tracked bodies (a.k.a. "markersets"). | |
typedef struct evas_body_markers_list_t | evas_body_markers_list_t |
Body markers definition. | |
typedef struct evas_body_segments_list_t | evas_body_segments_list_t |
Body segments definition. | |
typedef struct evas_body_dofs_list_t | evas_body_dofs_list_t |
Body dofs definition. | |
Functions | |
const evas_body_list_t * | evas_body_list () |
Get the current list of tracked bodies (a.k.a. "markersets"). | |
const evas_body_markers_list_t * | evas_body_markers_list (uint32_t body) |
Get the markers list for one body. | |
const evas_body_segments_list_t * | evas_body_segments_list (uint32_t body) |
Get the segments list for one body. | |
const evas_body_dofs_list_t * | evas_body_dofs_list (uint32_t body) |
Get the dofs list for one body. | |
int | evas_body_markers (uint32_t body, evas_onoff_t on) |
Configure the streaming of markers positions for one body. | |
int | evas_body_segments (uint32_t body, evas_onoff_t on) |
Configure the streaming of segments positions for one body. | |
int | evas_body_dofs (uint32_t body, evas_onoff_t on) |
Configure the streaming of DOFs positions for one body. | |
int | evas_unrecognized_markers (evas_onoff_t on) |
Configure the streaming of unrecognized markers positions. | |
int | evas_text (const char *text) |
Miscellaneous messages. |
typedef struct evas_body_list_t evas_body_list_t |
List of tracked bodies (a.k.a. "markersets").
This is a variable-length structure that contains a list of currently active body names. The bodies array contains nbodies strings, from index 0 to nbodies-1.
Use the index number of the body you are interrested in in functions that require a body number. This index will not change as long as you don't change the configuration of the EVaRT(tm) software.
typedef struct evas_body_markers_list_t evas_body_markers_list_t |
Body markers definition.
This is a variable-length structure that contains a list of marker names for a specific body. The body identity can be found in the index and name fields and the markers array contains the list of marker names, from index 0 to nmarkers-1.
typedef struct evas_body_segments_list_t evas_body_segments_list_t |
Body segments definition.
This is a variable-length structure that contains a list of segment names for a specific body. The body identity can be found in the index and name fields and the hier array contains the list of segments names and parent index, from index 0 to nmarkers-1.
typedef struct evas_body_dofs_list_t evas_body_dofs_list_t |
Body dofs definition.
This is a variable-length structure that contains a list of marker names for a specific body. The body identity can be found in the index and name fields and the markers array contains the list of marker names, from index 0 to nmarkers-1.
const evas_body_list_t* evas_body_list | ( | void | ) |
Get the current list of tracked bodies (a.k.a. "markersets").
Calling this function will ask the server to transmit the current list of tracked bodies ("markersets" in the EVaRT(tm) GUI) and will block until it receives the response. If other messages are received in the meantime and a callback has been defined (see evas_sethandler()), the callback is invoked with those messages.
const evas_body_markers_list_t* evas_body_markers_list | ( | uint32_t | body | ) |
Get the markers list for one body.
Calling this function will ask the server to transmit the markers list of the specified body. It will block until it receives the response. If other messages are received in the meantime and a callback has been defined (see evas_sethandler()), the callback is invoked with those messages.
[in] | body | A valid body index. In order to find out which body indexes are available, you might call evas_body_list() beforehand. |
const evas_body_segments_list_t* evas_body_segments_list | ( | uint32_t | body | ) |
Get the segments list for one body.
Calling this function will ask the server to transmit the segments list of the specified body. It will block until it receives the response. If other messages are received in the meantime and a callback has been defined (see evas_sethandler()), the callback is invoked with those messages.
[in] | body | A valid body index. In order to find out which body indexes are available, you might call evas_body_list() beforehand. |
const evas_body_dofs_list_t* evas_body_dofs_list | ( | uint32_t | body | ) |
Get the dofs list for one body.
Calling this function will ask the server to transmit the dofs list of the specified body. It will block until it receives the response. If other messages are received in the meantime and a callback has been defined (see evas_sethandler()), the callback is invoked with those messages.
[in] | body | A valid body index. In order to find out which body indexes are available, you might call evas_body_list() beforehand. |
int evas_body_markers | ( | uint32_t | body, | |
evas_onoff_t | on | |||
) |
Configure the streaming of markers positions for one body.
Calling this function will configure the server so that it will start streaming marker positions for the given body. The function will return immediately and you should be prepared to receive messages of the type EVAS_BODY_MARKERS in your callback function (see evas_sethandler()) or in evas_recv().
[in] | body | A valid body index. In order to find out which body indexes are available, you might call evas_body_list() beforehand. |
[in] | on | A boolean that starts (EVAS_ON) or stops (EVAS_OFF) the streaming of marker data for this body. |
int evas_body_segments | ( | uint32_t | body, | |
evas_onoff_t | on | |||
) |
Configure the streaming of segments positions for one body.
Calling this function will configure the server so that it will start streaming segments positions for the given body. The function will return immediately and you should be prepared to receive messages of the type EVAS_BODY_SEGMENTS in your callback function (see evas_sethandler()) or in evas_recv().
[in] | body | A valid body index. In order to find out which body indexes are available, you might call evas_body_list() beforehand. |
[in] | on | A boolean that starts (EVAS_ON) or stops (EVAS_OFF) the streaming of segment data for this body. |
int evas_body_dofs | ( | uint32_t | body, | |
evas_onoff_t | on | |||
) |
Configure the streaming of DOFs positions for one body.
Calling this function will configure the server so that it will start streaming DOFs positions for the given body. The function will return immediately and you should be prepared to receive messages of the type EVAS_BODY_DOFS in your callback function (see evas_sethandler()) or in evas_recv().
[in] | body | A valid body index. In order to find out which body indexes are available, you might call evas_body_list() beforehand. |
[in] | on | A boolean that starts (EVAS_ON) or stops (EVAS_OFF) the streaming of DOF data for this body. |
int evas_unrecognized_markers | ( | evas_onoff_t | on | ) |
Configure the streaming of unrecognized markers positions.
Calling this function will configure the server so that it will start streaming unrecognized marker positions. Unrecognized markers are those that do not belong to any body (see evas_body_markers()). The function will return immediately and you should be prepared to receive messages of the type EVAS_UNRECOGNIZED_MARKERS in your callback function (see evas_sethandler()) or in evas_recv().
[in] | on | A boolean that starts (EVAS_ON) or stops (EVAS_OFF) the streaming of unrecognized marker data. |
int evas_text | ( | const char * | text | ) |
Miscellaneous messages.
This function sends a pure text message to the server. The behaviour depends on the actual message sent. This function does not wait for any answer. If your message generates one, you will receive it asynchronously.
At the moment, only one message is recognized by the server: it is the ASCII text "hello" terminated by a nul-character. The server will respond with a text message (type EVAS_MSG) containing its identification string. You can use this message to test the communication with the server.
[in] | text | Raw text message to send to the server. At the moment, only the nul-terminated string "hello" is useful. |