graph.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /*************************************/
  2. /* Auteur : Rémi Synave */
  3. /* Date de création : 05/07/08 */
  4. /* Date de modification : 15/03/15 */
  5. /* Version : 0.4 */
  6. /*************************************/
  7. /***************************************************************************/
  8. /* This file is part of a2ri. */
  9. /* */
  10. /* a2ri is free software: you can redistribute it and/or modify it */
  11. /* under the terms of the GNU Lesser General Public License as published */
  12. /* by the Free Software Foundation, either version 3 of the License, or */
  13. /* (at your option) any later version. */
  14. /* */
  15. /* a2ri is distributed in the hope that it will be useful, */
  16. /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
  17. /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
  18. /* GNU Lesser General Public License for more details. */
  19. /* */
  20. /* You should have received a copy of the GNU Lesser General Public */
  21. /* License along with a2ri. */
  22. /* If not, see <http://www.gnu.org/licenses/>. */
  23. /***************************************************************************/
  24. #ifndef GRAPH__H
  25. #define GRAPH__H
  26. #include <stdio.h>
  27. #include <stdlib.h>
  28. #include "util.h"
  29. #include "vertex.h"
  30. #include "edge.h"
  31. #include "face.h"
  32. #include "point.h"
  33. #include "model.h"
  34. #include "geometry.h"
  35. #include "hashtable.h"
  36. #include "boundingbox.h"
  37. #include "space_partition.h"
  38. /**
  39. Calcul du graphe Nearest Neighbour Graph (NNG)
  40. @param m le modele
  41. @return un modele contenant les aretes
  42. */
  43. vef_model * a2ri_vef_nearest_neighbour_graph (
  44. const vef_model * const m);
  45. /**
  46. Calcul du graphe Gabriel (GG)
  47. @param m le modele
  48. @return un modele contenant les aretes
  49. */
  50. vef_model * a2ri_vef_gabriel_graph (
  51. const vef_model * const m);
  52. /**
  53. Calcul du graphe etendu Gabriel (NNG)
  54. @param m le modele
  55. @return un modele contenant les aretes
  56. */
  57. vef_model * a2ri_vef_extended_gabriel_hypergraph (
  58. const vef_model * const m);
  59. /**
  60. Calcul du graphe recouvrant minimal (EMST - Euclidean Minimal Spanning Tree)
  61. @param m le modele
  62. @return un modele contenant les aretes
  63. */
  64. vef_model * a2ri_vef_euclidean_minimal_spanning_tree (
  65. const vef_model * const m);
  66. #endif