\documentclass[a4paper,12pt]{article} \usepackage[french]{babel} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} %\usepackage{amsmath} \author{Rémi Synave, Stefka Gueorguieva, Pascal Desbarats} \title{Manuel de la bibliothèque FACE} \date{} \begin{document} \maketitle \section{Utilisation} Cette bibliothèque implémente les structures de données nécessaires au stockage des faces d'un maillage ainsi que des fonctions pour manipuler celles-ci.\\ Deux structures de données sont disponibles : \texttt{vf\_face} pour le stockage des maillages \texttt{vf\_model} et \texttt{vef\_face} pour le stockage des maillages \texttt{vef\_model}.\\ Les faces, quelles soient \texttt{vf\_face} ou \texttt{vef\_face}, sont orientées. Une \texttt{vf\_face} (resp. \texttt{vef\_face}) définie par les sommets (resp. arêtes) $(0,2,5)$ sera l'inverse de la \texttt{vf\_face} (resp. \texttt{vef\_face}) défini par les sommets (resp. arêtes) $(0,5,2)$.\\ \section{Structures de données} Les faces des \texttt{vf\_model} sont définis par trois sommets : \texttt{ve1,ve2,ve3}, les trois index des sommets de la structure \texttt{vf\_face}.\\ La variable \texttt{type} permet d'enregistrer le type de la face s'il est disponible.\\ \begin{verbatim} typedef struct { int ve1; //premier sommet de la face int ve2; //second sommet de la face int ve3; //troisième sommet de la face int type; //type de la face : UNKNOW, BLACK, WHITE ou GRAY }vf_face; \end{verbatim} Les faces des \texttt{vef\_model} sont définis par trois arêtes : \texttt{ed1,ed2,ed3}, les trois index des arêtes de la structure \texttt{vef\_face}.\\ La variable \texttt{type} permet d'enregistrer le type de la face s'il est disponible.\\ \begin{verbatim} typedef struct { int ed1; //première arête de la face int ed2; //seconde arête de la face int ed3; //troisième arête de la face int type; //type de la face : UNKNOW, BLACK, WHITE ou GRAY }vef_face; \end{verbatim} \section{Fonctions} \subsection{Fonctions utilisant \texttt{vf\_face}} \textbullet \texttt{void vf\_face\_display(vf\_face f)}\\ Affichage des trois sommets de la face sous la forme :\\ \begin{verbatim} FACE : (ve1,ve2,ve3) \end{verbatim} ~\\ \underline{Paramètres et type de retour :}\\ \texttt{f} : face de type vf\_face.\\ \texttt{retour} : aucun.\\ \textbullet \texttt{void vf\_face\_reverse(vf\_face *f)}\\ Inversion de l'orientation de la face.\\ ~\\ \underline{Paramètres et type de retour :}\\ \texttt{f} : face de type vf\_face.\\ \texttt{retour} : aucun.\\ \textbullet \texttt{int vf\_face\_contains(vf\_face *f, int numvertex)}\\ Teste la présence du sommet \texttt{numvertex} dans la face \texttt{f}. ~\\ \underline{Paramètres et type de retour :}\\ \texttt{f} : face de type vf\_face.\\ \texttt{numvertex} : numéro du sommet à tester.\\ \texttt{retour} : 1 si le sommet apparatient à la face, 0 sinon.\\ \textbullet \texttt{void vf\_face\_free(vf\_face *f)}\\ Libération de la mémoire allouée pour les \texttt{sharedpolyhedrons}. ~\\ \underline{Paramètres et type de retour :}\\ \texttt{f} : face de type vf\_face.\\ \texttt{retour} : aucun.\\ \subsection{Fonctions utilisant \texttt{vef\_face}} \textbullet \texttt{void vef\_face\_display(vef\_face f)}\\ Affichage des trois aretes de la face sous la forme :\\ \begin{verbatim} FACE : (ed1,ed2,ed3) \end{verbatim} ~\\ \underline{Paramètres et type de retour :}\\ \texttt{f} : face de type vefh\_face.\\ \texttt{retour} : aucun.\\ \textbullet \texttt{void vef\_face\_reverse(vef\_face *f)}\\ Inversion de l'orientation de la face.\\ ~\\ \underline{Paramètres et type de retour :}\\ \texttt{f} : face de type vefh\_face.\\ \texttt{retour} : aucun.\\ \textbullet \texttt{void vef\_face\_get\_vertices(vef\_face f, vef\_edge *list, int *ve1, int *ve2, int *ve3)}\\ Permet de retrouver les index des trois sommets orientés de la face.\\ ~\\ \underline{Paramètres et type de retour :}\\ \texttt{f} : face de type vef\_face.\\ \texttt{list} : liste des aretes vef\_edge du modèle.\\ \texttt{ve1} : numéro du premier sommet.\\ \texttt{ve2} : numéro du second sommet.\\ \texttt{ve3} : numéro du troisième sommet.\\ \texttt{retour} : aucun.\\ \textbullet \texttt{int vef\_face\_contains(vf\_face *f, int numvertex)}\\ Teste la présence du sommet \texttt{numvertex} dans la face \texttt{f}. ~\\ \underline{Paramètres et type de retour :}\\ \texttt{f} : face de type vef\_face.\\ \texttt{numvertex} : numéro du sommet à tester.\\ \texttt{retour} : 1 si le sommet apparatient à la face, 0 sinon.\\ \textbullet \texttt{void vef\_face\_free(vef\_face *f)}\\ Libération de la mémoire allouée pour les \texttt{sharedpolyhedrons}. ~\\ \underline{Paramètres et type de retour :}\\ \texttt{f} : face de type vef\_face.\\ \texttt{retour} : aucun.\\ \end{document}