liba2ri  0.2
 All Data Structures
geodesique.h
1 /*************************************/
2 /* Auteur : Rémi Synave */
3 /* Date de création : 25/01/08 */
4 /* Date de modification : 08/01/10 */
5 /* Version : 0.2 */
6 /*************************************/
7 
8 /***************************************************************************/
9 /* This file is part of a2ri. */
10 /* */
11 /* a2ri is free software: you can redistribute it and/or modify it */
12 /* under the terms of the GNU Lesser General Public License as published */
13 /* by the Free Software Foundation, either version 3 of the License, or */
14 /* (at your option) any later version. */
15 /* */
16 /* a2ri is distributed in the hope that it will be useful, */
17 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
19 /* GNU Lesser General Public License for more details. */
20 /* */
21 /* You should have received a copy of the GNU Lesser General Public */
22 /* License along with a2ri. */
23 /* If not, see <http://www.gnu.org/licenses/>. */
24 /***************************************************************************/
25 
26 
27 
28 #ifndef GEODESIQUE__H
29 #define GEODESIQUE__H
30 
31 #include <stdio.h>
32 #include <stdlib.h>
33 
34 #include "util.h"
35 #include "vertex.h"
36 #include "edge.h"
37 #include "face.h"
38 #include "point.h"
39 #include "model.h"
40 #include "geometry.h"
41 #include "hashtable.h"
42 #include "graph.h"
43 #include "subdivision.h"
44 #include "topology.h"
45 
46 #define A2RI_GEODESIQUE_CHEMIN_INTROUVABLE 0
47 #define A2RI_GEODESIQUE_POINTS_ALIGNES 1
48 #define A2RI_GEODESIQUE_OK 2
49 
50 
60 double a2ri_vf_dijkstra (
61  vf_model * m,
62  int ve_dep,
63  int ve_fin,
64  int **list,
65  int *size);
66 
76 double a2ri_vf_A_star (
77  vf_model * m,
78  int ve_dep,
79  int ve_fin,
80  int **list,
81  int *size);
82 
83 
93 double a2ri_vf_approche (
94  vf_model * m,
95  int ve_dep,
96  int ve_fin,
97  int **list,
98  int *size);
99 
100 
110 double a2ri_vef_dijkstra (
111  vef_model * m,
112  int ve_dep,
113  int ve_fin,
114  int **list,
115  int *size);
116 
127 int a2ri_vf_geodesic_path_approche_plan_moyen (
128  vf_model * m,
129  int ve_dep,
130  int ve_fin,
131  int **list,
132  int *size,
133  double *length,
134  int nbsubdiv);
135 
136 
147 int a2ri_vf_geodesic_path_approche_plan_minmax (
148  vf_model * m,
149  int ve_dep,
150  int ve_fin,
151  int **list,
152  int *size,
153  double *length,
154  int nbsubdiv);
155 
166 int a2ri_vf_geodesic_path_approche_plan_vecteur (
167  vf_model * m,
168  int ve_dep,
169  int ve_fin,
170  int **list,
171  int *size,
172  double *length,
173  int nbsubdiv);
174 
185 int a2ri_vf_geodesic_path_approche_plan_intersection (
186  vf_model * m,
187  int ve_dep,
188  int ve_fin,
189  int **list,
190  int *size,
191  double *length,
192  int nbsubdiv);
193 
204 int a2ri_vf_geodesic_path_A_star_plan_moyen (
205  vf_model * m,
206  int ve_dep,
207  int ve_fin,
208  int **list,
209  int *size,
210  double *length,
211  int nbsubdiv);
212 
213 
224 int a2ri_vf_geodesic_path_A_star_plan_minmax (
225  vf_model * m,
226  int ve_dep,
227  int ve_fin,
228  int **list,
229  int *size,
230  double *length,
231  int nbsubdiv);
232 
243 int a2ri_vf_geodesic_path_A_star_plan_vecteur (
244  vf_model * m,
245  int ve_dep,
246  int ve_fin,
247  int **list,
248  int *size,
249  double *length,
250  int nbsubdiv);
251 
262 int a2ri_vf_geodesic_path_A_star_plan_intersection (
263  vf_model * m,
264  int ve_dep,
265  int ve_fin,
266  int **list,
267  int *size,
268  double *length,
269  int nbsubdiv);
270 
281 int a2ri_vf_geodesic_path_dijkstra_plan_minmax (
282  vf_model * m,
283  int ve_dep,
284  int ve_fin,
285  int **list,
286  int *size,
287  double *length,
288  int nbsubdiv);
289 
300 int a2ri_vf_geodesic_path_dijkstra_plan_vecteur (
301  vf_model * m,
302  int ve_dep,
303  int ve_fin,
304  int **list,
305  int *size,
306  double *length,
307  int nbsubdiv);
308 
319 int a2ri_vf_geodesic_path_dijkstra_plan_intersection (
320  vf_model * m,
321  int ve_dep,
322  int ve_fin,
323  int **list,
324  int *size,
325  double *length,
326  int nbsubdiv);
327 
328 
339 int a2ri_vf_geodesic_path_dijkstra_plan_moyen (
340  vf_model * m,
341  int ve_dep,
342  int ve_fin,
343  int **list,
344  int *size,
345  double *length,
346  int nbsubdiv);
347 #endif