56 template <
class A,
class CONDITION>
76 template <
class A,
class CONDITION>
107 for (
int i=0;i<lst_entite->
get_nb();i++)
109 CONDITION cond=lst_entite->
get(i);
183 for (
int i=0;i<lst_entite->
get_nb();i++)
185 CONDITION cond=lst_entite->
get(i);
204 if (boite*cellule->
boite)
210 if (boite*boiteentite)
225 BOITE_2D boite(xcentre-rayon_recherche,ycentre-rayon_recherche,xcentre+rayon_recherche,ycentre+rayon_recherche);
230 rechercher(boite,liste_entite_trouve,cellule);
237 rechercher(boite,liste_entite_trouve,cellule);
244 rechercher(boite1,liste_entite_trouve,cellule);
245 rechercher(boite2,liste_entite_trouve,cellule);
252 rechercher(boite1,liste_entite_trouve,cellule);
253 rechercher(boite2,liste_entite_trouve,cellule);
261 rechercher(boite,liste_entite_trouve,cellule);
268 rechercher(boite1,liste_entite_trouve,cellule);
269 rechercher(boite2,liste_entite_trouve,cellule);
276 rechercher(boite1,liste_entite_trouve,cellule);
277 rechercher(boite2,liste_entite_trouve,cellule);
285 rechercher(boite,liste_entite_trouve,cellule);
294 rechercher(boite1,liste_entite_trouve,cellule);
295 rechercher(boite2,liste_entite_trouve,cellule);
296 rechercher(boite3,liste_entite_trouve,cellule);
297 rechercher(boite4,liste_entite_trouve,cellule);
306 rechercher(boite1,liste_entite_trouve,cellule);
307 rechercher(boite2,liste_entite_trouve,cellule);
308 rechercher(boite3,liste_entite_trouve,cellule);
309 rechercher(boite4,liste_entite_trouve,cellule);
318 rechercher(boite1,liste_entite_trouve,cellule);
319 rechercher(boite2,liste_entite_trouve,cellule);
320 rechercher(boite3,liste_entite_trouve,cellule);
321 rechercher(boite4,liste_entite_trouve,cellule);
330 rechercher(boite1,liste_entite_trouve,cellule);
331 rechercher(boite2,liste_entite_trouve,cellule);
332 rechercher(boite3,liste_entite_trouve,cellule);
333 rechercher(boite4,liste_entite_trouve,cellule);
340 rechercher(boite1,liste_entite_trouve,cellule);
341 rechercher(boite2,liste_entite_trouve,cellule);
348 rechercher(boite1,liste_entite_trouve,cellule);
349 rechercher(boite2,liste_entite_trouve,cellule);
356 rechercher(boite1,liste_entite_trouve,cellule);
357 rechercher(boite2,liste_entite_trouve,cellule);
364 rechercher(boite1,liste_entite_trouve,cellule);
365 rechercher(boite2,liste_entite_trouve,cellule);
376 if (boite*cellule->
boite)
392 if (boite*cellule->
boite)
virtual ~CELLULE_QUADTREE_BASE()
virtual BOITE_2D get_boite(void)=0
virtual CELLULE_QUADTREE_BASE * get_fils(int num)=0
virtual int get_feuille(void)=0
virtual CELLULE_QUADTREE_BASE * get_cellule(int num)=0
virtual int get_nb_cellule(void)=0
TPL_LISTE_ENTITE< A > lst_entite_A
TPL_CELLULE_QUADTREE(double xmin, double ymin, double xmax, double ymax)
TPL_CELLULE_QUADTREE< A,CONDITION > * fils[4]
virtual ~TPL_CELLULE_QUADTREE()
TPL_LISTE_ENTITE< CONDITION > lst_entite_CONDITION
virtual int get_feuille(void)
virtual TPL_CELLULE_QUADTREE< A, CONDITION > * get_fils(int num)
virtual void supprimer(X x)
virtual void ajouter(X x)
virtual void ajouter(X x)
virtual void initialiser(TPL_LISTE_ENTITE< CONDITION > *lst_entite, int nombre, double xmin, double ymin, double xmax, double ymax, bool estu, bool estv, double periodeu, double periodev)
virtual void rechercher(BOITE_2D &boite, TPL_MAP_ENTITE< A > &liste_entite_trouve, TPL_CELLULE_QUADTREE< A, CONDITION > *cellule)
TPL_CELLULE_QUADTREE< A, CONDITION > * cree_fils(CELLULE_QUADTREE_BASE *cellule_base)
virtual TPL_CELLULE_QUADTREE< A, CONDITION > * get_cellule(int num)
virtual void parcourir(A a, int num)
virtual TPL_CELLULE_QUADTREE< A,CONDITION > * cree_fils(double xmin, double ymin, double dx, double dy, TPL_LISTE_ENTITE< CONDITION > *lst_entite, int nombre)
TPL_LISTE_ENTITE< TPL_CELLULE_QUADTREE< A,CONDITION > * > lst_entite_cellule
virtual void supprimer(BOITE_2D &boite, A a, TPL_CELLULE_QUADTREE< A, CONDITION > *cellule)
virtual void rechercher(double xcentre, double ycentre, double rayon_recherche, TPL_MAP_ENTITE< A > &liste_entite_trouve)
virtual void inserer(BOITE_2D &boite, A a, TPL_CELLULE_QUADTREE< A, CONDITION > *cellule)
virtual void initialiser(QUADTREE_BASE *quad)
virtual int get_nb_cellule(void)
virtual void inserer(A a)
virtual void supprimer(A a)