ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/acismesh/qu_parcour.cpp
Revision: 1
Committed: Mon Jun 11 22:53:07 2007 UTC (17 years, 11 months ago)
File size: 2278 byte(s)
Log Message:

File Contents

# Content
1 /*****************************************************************
2
3 qu_parcour.c Type:Func
4
5 recherche dans l arbre quadternaire
6
7 Date de creation : Wed Feb 12 10:46:49 1997
8
9 Derniere version : Wed Jun 4 16:46:42 1997
10
11
12
13
14
15
16
17
18
19 Vincent FRANCOIS
20
21 *****************************************************************/
22
23
24
25
26
27 /**************************/
28 /* include */
29 #include <stdio.h>
30 #include <string.h>
31 #include "const.h"
32 #include "memoire.h"
33 #include "struct.h"
34 #include "prototype.h"
35
36
37 /**************************/
38 /* variables globales */
39 extern struct environnment env;
40 extern struct s_mesh *mesh;
41
42
43
44 /**************************/
45 /* programme principal */
46
47 void qu_parcour(float umin,float vmin,float umax,float vmax,struct s_quadtree *quad,struct s_quadtree **liste,int *nb_liste,int *liste_quad)
48 {
49
50
51
52
53 if (umax>=quad->u-0.0001)
54 if (vmax>=quad->v-0.0001)
55 if (umin<(quad->u+quad->t_u))
56 if (vmin<(quad->v+quad->t_v))
57 if (quad->feuille==1)
58 {
59 if (liste_quad[quad->num]==0)
60 {
61 liste[*nb_liste]=quad;
62 (*nb_liste)++;
63 liste_quad[quad->num]=1;
64 }
65 }
66 else
67 {
68 qu_parcour(umin,vmin,umax,vmax,quad->fils[0],liste,nb_liste,liste_quad);
69 qu_parcour(umin,vmin,umax,vmax,quad->fils[1],liste,nb_liste,liste_quad);
70 qu_parcour(umin,vmin,umax,vmax,quad->fils[2],liste,nb_liste,liste_quad);
71 qu_parcour(umin,vmin,umax,vmax,quad->fils[3],liste,nb_liste,liste_quad);
72 }
73 }