miAPI.h
Fonction |
Description |
int miOpenDataFile(char* filename); |
Ouverture d’un fichier de données 3D et affichage
dans Motion Inspector. |
void miCloseData(); |
Fermeture du fichier de données en cours |
int miSave(); |
Enregistre le fichier (au format C3D). Renvoie TRUE en cas de succès (sinon FALSE) |
int miSaveAs(char* name, int format); |
Enregistre le fichiers en modifiant le nom ‘name ‘ ainsi que le format (1 : TXT, 2 :MatLab, 3 :C3D). Renvoie TRUE en cas de succès (sinon FALSE). |
char* miGetDataFileName(); |
Renvoie le nom du fichier en cours (ouvert) |
void miSetModelFileName(char* name); |
Associe le fichier de données au modèle biomécanique ‘name’. |
Fonctions relatives aux données |
|
int miGetFrameCount(); |
Renvoie le nombre de frames du fichier |
int miGetAnalogFrameCount(); |
Renvoie le nombre de lignes analogiques |
int miGetDimension(); |
Renvoie le nombre de dimensions du fichier |
double miGetRate(); |
Renvoie la fréquence d’échantillonnage des données cinématiques |
double miGetAnalogRate(); |
Renvoie la fréquence d’échantillonnage des données analogiques |
int miGetFirstFrame(); |
Renvoie la première image de la sélection |
int miGetLastFrame(); |
Renvoie la dernière image de la sélection |
void miSetFirstFrame(int frame); |
Fixe la première image de la sélection |
void miSetLastFrame(int frame); |
Fixe la dernière image de la sélection |
void miCutBorder(int first_frame, int last_frame); |
Efface les données en dehors de la sélection définie par ‘first_frame’ et ‘last_frame’ |
Manipulation des données |
|
double miGetKineData(int frame, int marker, int axe); |
Renvoie la valeur cinématique correspondante à l’image ‘frame’, pour le marqueur ‘marker’ et l’axe ‘axe’ |
void miPutKineData(int frame, int marker, int axe, double data); |
Modifie la valeur correspondante à l’image ‘frame’, pour le marqueur ‘marker’ et l’axe ‘axe’ |
double miGetAnalogData(int lig, int col); |
Renvoie la valeur analogique correspondante à la ligne ‘lig’ et à la colonne ‘col’ |
void miPutAnalogData(int lig, int col, double data); |
Modifie la valeur analogique de la ligne ‘lig’ et de la colonne ‘col’ par la valeur ‘value’ |
double* miGetKineDataBuffer(int marker, int axe); |
Renvoie un vecteur contenant les données d’un marqueur ‘marker’ pour l’axe ‘axe’. Ce vecteur doit être ensuite libéré par la fonction ‘free’ |
void miPutKineDataBuffer(int marker, int axe, double* values, int count); |
Sauve un vecteur de données dans un marqueur. |
double* miGetAnaogDataBuffer(int col); |
Renvoie un vecteur de données analogiques correspondant à la colonne ‘col’ |
void miPutAnalogDataBuffer(int col, double* values, int count); |
Sauve un vecteur de données analogiques dans une colonne ‘col’ |
Fonctions relatives aux marqueurs |
|
int miGetMarkerCount(); |
Renvoie le nombre de marqueurs du fichier |
int miGetMarkerNum(char* name); |
Renvoie le numéro d’un marqueur portant le nom ‘name’. |
char* miGetMarkerName(int mkr); |
Renvoie le nom du marqueur dont le numéro est ‘mkr’. Revoie NULL en cas d’erreur |
int miRenameMarker(int mkr, char* name, char* unit, char* desc); |
Renomme le marqueur ‘mkr’ avec ‘name’ pour nom, ‘unit’ pour unité et ‘desc’ comme description. ‘unit’ et ‘desc’ peuvent être NULL. |
int miNewMarker(char* name, char* unit, char* description); |
Création d’un nouveau marqueur portant le nom ‘name’ ‘unit’ pour unité et ‘desc’ comme description. ‘unit’ et ‘desc’ peuvent être NULL. Renvoie (TRUE) en cas de succès sinon FALSE. |
int miDeleteMarker(int num); |
Destruction du marqueur ayant pour numéro ‘mkr’. Renvoie TRUE en cas de succès, sinon FALSE. |
Gestion des événements |
|
int miGetEventCount(); |
Retourne le nombre d’événement enregistré |
char* miGetEventName(int id); |
Retourne le nom de l’événement correspondant à id. Retourne NULL en cas d’échec |
int miGetEventFrameFromName(char*); |
Retourne le numéro d’image correspondant au nom ‘name’ de l’événement |
int miGetEventFrameFromId(int id); |
Retourne le numéro d’image correspondant au à l’événement numéro ‘id’ |
char* miGetEventContext(int id); |
Retourne le nom du contexte de l’événement id. Retourne NULL en cas d’échec |
int miSetEventPosition(int frame_pos, char* name, int context_id, int icon_id); |
Création d’un nouvel événement portant le nom ‘name’, avec une position correspondante à ‘frame_pos’, et pour contexte ‘context_id (0, 1 ou 2) et comme icône ‘icone_id’ (0, 1 ou 2) |
int miDeleteEvent(int frame); |
Destruction d’un événement correspondant à l’image ‘frame’. |
Fonctions relatives aux données analogiques |
|
int miGetAnalogCount(); |
Renvoie le nombre de canaux analogiques |
char* miGetAnalogName(int analog); |
Renvoie le nom du canal analogique ‘analog’. Renvoie NULL en cas d’échec. |
int miNewAnalog(char* name, char* unit, char* desc); |
Création d’un nouveau canal analogique portant le nom ‘name’ ‘unit’ pour unité et ‘desc’ comme description. ‘unit’ et ‘desc’ peuvent être NULL. Renvoie (TRUE) en cas de succès sinon FALSE. |
int miRenameAnalog(int analog, char* name, char* unit, char* desc); |
Renomme le canal analogique ‘analog’ avec ‘name’ pour nom, ‘unit’ pour unité et ‘desc’ comme description. ‘unit’ et ‘desc’ peuvent être NULL. Renvoie TRUE en cas de succès. |
int miDeleteAnalog(int analog); |
Destruction du canal anaologique ayant pour numéro ‘analog’. Renvoie TRUE en cas de succès, sinon FALSE. |
Fonctions relatives aux données supplémentaires |
|
void miNewAngle(char* name, char* unit, char* description); |
Création d’un nouveau marqueur virtuel ‘name’ contenant des données angulaires. |
void miNewScalar(char* name, char* unit, char* description); |
Création d’un nouveau marqueur virtuel ‘name’ contenant des données scalaires. |
void miNewForce(char* name, char* unit, char* description); |
Création d’un nouveau marqueur virtuel ‘name’ contenant des données de forces. |
void miNewMoment(char* name, char* unit, char* description); |
Création d’un nouveau marqueur virtuel ‘name’ contenant des données de moments de forces. |
void miNewPower(char* name, char* unit, char* description); |
Création d’un nouveau marqueur virtuel ‘name’ contenant des données de puissance. |
void miNewReaction(char* name, char* unit, char* description); |
Création d’un nouveau marqueur virtuel ‘name’ contenant des données de forces (de réaction). |
int miGetAngleCount(); |
Retourne le nombre de données angulaires |
int miGetScalarCount(); |
Retourne le nombre de données scalaires |
int miGetForceCount(); |
Retourne le nombre de données de forces |
int miGetMomentCount(); |
Retourne le nombre de données de moments |
int miGetPowerCount(); |
Retourne le nombre de données de puissance |
int miGetReactionCount(); |
Retourne le nombre de données de réaction |
char* miGetAngleName(int id); |
Renvoie le nom de la donnée angulaire (id). Renvoie NULL en cas d’échec. |
char* miGetScalarName(int id); |
Renvoie le nom de la donnée scalaire (id). Renvoie NULL en cas d’échec. |
char* miGetForceName(int id); |
Renvoie le nom de la donnée de force (id). Renvoie NULL en cas d’échec. |
char* miGetMomentName(int id); |
Renvoie le nom de la donnée de moment (id). Renvoie NULL en cas d’échec. |
char* miGetPowerName(int id); |
Renvoie le nom de la donnée de puissance (id). Renvoie NULL en cas d’échec. |
char* miGetReactionName(int id); |
Renvoie le nom de la donnée de force de réaction (id). Renvoie NULL en cas d’échec. |
Plateformes de Forces |
|
int miGetForcePlateCount(); |
Renvoie le nombre de plateformes de forces du fichier |
int miAddForcePlate(int type, int* channels, double* corners, double* origin); |
Ajoute une plateforme de forces aux données du fichier. ‘type’ correspond au type de plateforme (généralement 2). ‘channels’ correspond au numéro des voies analogiques. La taille de ‘channels’ est au moins de 6 (Fx, Fy, Fz, Mx, My, Mz) . ‘corners’ correspond aux coordonnées 3D des 4 coins de la plateforme (dans l’ordre des coins). La taille de ‘corners’ est donc de 12 éléments (3x4). ‘origin’ correspond au coordonnées 3D (x,y,z) du centre de la plateforme dans le repère de celle-ci. La taille est donc de 3. Revoie TRUE en cas de succès, sinon FALSE. |
int miGetForcePlateInfo(int num, int *type, int* channels, double* corners, double* origin); |
Cette fonction permet de connaitre les informations relatives à
la plateforme ‘num’. |
int miSetForcePlateInfo(int num, int type, int* channels, double* corners, double* origin); |
Cette fonction permet de modifier les informations relatives à
la plateforme ‘num’. |
double** miGetForcePlateData(int num, int same_rate, int* channels, int* frames); |
Cette fonction renvoie un tableau de valeurs (double) correspondant aux données de la plateforme ‘num’. Si ‘same_rate’ est égale à TRUE, la fréquence des données sera la même que celle des données cinématiques. ‘channels’ et ’frames’ correspondent à la taille du tableau. ‘channels’ est égale à 9 : Fx, Fy, Fz, Mx, My, Mz, Xp, Yp, Zp. Ce tableau doit être libéré (free) après utilisation. |
Autres Fonctions |
|
char* miGetFileName(char* filter, char* title, char* path); |
Ouvre une boite de dialogue permettant de choisir un fichier. ‘Filter’ représente le filtre de fichier (par exemple ‘*.c3d’) et ‘path’ représente le répertoire des fichiers |
char** miGetFileList(char* filter, char* title, char* path, int* count); |
Ouvre une boite de dialogue permettant la sélection de multiple fichiers en fonction du filtre ‘filter’. Cette fonction renvoie un tableau de chaines de caractères contenant les noms des fichiers sélectionnées. Le nombre de fichiers est donnée par la variable ‘count’. Ce tableau doit être libéré (free) après utilisation. |