face.tex 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. \documentclass[a4paper,12pt]{article}
  2. \usepackage[french]{babel}
  3. \usepackage[T1]{fontenc}
  4. \usepackage[latin1]{inputenc}
  5. %\usepackage{amsmath}
  6. \author{Rémi Synave, Stefka Gueorguieva, Pascal Desbarats}
  7. \title{Manuel de la bibliothèque FACE}
  8. \date{}
  9. \begin{document}
  10. \maketitle
  11. \section{Utilisation}
  12. 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.\\
  13. 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}.\\
  14. 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)$.\\
  15. \section{Structures de données}
  16. 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}.\\
  17. La variable \texttt{type} permet d'enregistrer le type de la face s'il est disponible.\\
  18. \begin{verbatim}
  19. typedef struct
  20. {
  21. int ve1; //premier sommet de la face
  22. int ve2; //second sommet de la face
  23. int ve3; //troisième sommet de la face
  24. int type; //type de la face : UNKNOW, BLACK, WHITE ou GRAY
  25. }vf_face;
  26. \end{verbatim}
  27. 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}.\\
  28. La variable \texttt{type} permet d'enregistrer le type de la face s'il est disponible.\\
  29. \begin{verbatim}
  30. typedef struct
  31. {
  32. int ed1; //première arête de la face
  33. int ed2; //seconde arête de la face
  34. int ed3; //troisième arête de la face
  35. int type; //type de la face : UNKNOW, BLACK, WHITE ou GRAY
  36. }vef_face;
  37. \end{verbatim}
  38. \section{Fonctions}
  39. \subsection{Fonctions utilisant \texttt{vf\_face}}
  40. \textbullet \texttt{void vf\_face\_display(vf\_face f)}\\
  41. Affichage des trois sommets de la face sous la forme :\\
  42. \begin{verbatim}
  43. FACE : (ve1,ve2,ve3)
  44. \end{verbatim}
  45. ~\\
  46. \underline{Paramètres et type de retour :}\\
  47. \texttt{f} : face de type vf\_face.\\
  48. \texttt{retour} : aucun.\\
  49. \textbullet \texttt{void vf\_face\_reverse(vf\_face *f)}\\
  50. Inversion de l'orientation de la face.\\
  51. ~\\
  52. \underline{Paramètres et type de retour :}\\
  53. \texttt{f} : face de type vf\_face.\\
  54. \texttt{retour} : aucun.\\
  55. \textbullet \texttt{int vf\_face\_contains(vf\_face *f, int numvertex)}\\
  56. Teste la présence du sommet \texttt{numvertex} dans la face \texttt{f}.
  57. ~\\
  58. \underline{Paramètres et type de retour :}\\
  59. \texttt{f} : face de type vf\_face.\\
  60. \texttt{numvertex} : numéro du sommet à tester.\\
  61. \texttt{retour} : 1 si le sommet apparatient à la face, 0 sinon.\\
  62. \textbullet \texttt{void vf\_face\_free(vf\_face *f)}\\
  63. Libération de la mémoire allouée pour les \texttt{sharedpolyhedrons}.
  64. ~\\
  65. \underline{Paramètres et type de retour :}\\
  66. \texttt{f} : face de type vf\_face.\\
  67. \texttt{retour} : aucun.\\
  68. \subsection{Fonctions utilisant \texttt{vef\_face}}
  69. \textbullet \texttt{void vef\_face\_display(vef\_face f)}\\
  70. Affichage des trois aretes de la face sous la forme :\\
  71. \begin{verbatim}
  72. FACE : (ed1,ed2,ed3)
  73. \end{verbatim}
  74. ~\\
  75. \underline{Paramètres et type de retour :}\\
  76. \texttt{f} : face de type vefh\_face.\\
  77. \texttt{retour} : aucun.\\
  78. \textbullet \texttt{void vef\_face\_reverse(vef\_face *f)}\\
  79. Inversion de l'orientation de la face.\\
  80. ~\\
  81. \underline{Paramètres et type de retour :}\\
  82. \texttt{f} : face de type vefh\_face.\\
  83. \texttt{retour} : aucun.\\
  84. \textbullet \texttt{void vef\_face\_get\_vertices(vef\_face f, vef\_edge *list, int *ve1, int *ve2, int *ve3)}\\
  85. Permet de retrouver les index des trois sommets orientés de la face.\\
  86. ~\\
  87. \underline{Paramètres et type de retour :}\\
  88. \texttt{f} : face de type vef\_face.\\
  89. \texttt{list} : liste des aretes vef\_edge du modèle.\\
  90. \texttt{ve1} : numéro du premier sommet.\\
  91. \texttt{ve2} : numéro du second sommet.\\
  92. \texttt{ve3} : numéro du troisième sommet.\\
  93. \texttt{retour} : aucun.\\
  94. \textbullet \texttt{int vef\_face\_contains(vf\_face *f, int numvertex)}\\
  95. Teste la présence du sommet \texttt{numvertex} dans la face \texttt{f}.
  96. ~\\
  97. \underline{Paramètres et type de retour :}\\
  98. \texttt{f} : face de type vef\_face.\\
  99. \texttt{numvertex} : numéro du sommet à tester.\\
  100. \texttt{retour} : 1 si le sommet apparatient à la face, 0 sinon.\\
  101. \textbullet \texttt{void vef\_face\_free(vef\_face *f)}\\
  102. Libération de la mémoire allouée pour les \texttt{sharedpolyhedrons}.
  103. ~\\
  104. \underline{Paramètres et type de retour :}\\
  105. \texttt{f} : face de type vef\_face.\\
  106. \texttt{retour} : aucun.\\
  107. \end{document}