1 |
cuillier |
415 |
#include "gestionversion.h"
|
2 |
|
|
#include <stdio.h>
|
3 |
|
|
#include "mg_file.h"
|
4 |
|
|
#include "tpl_grille.h"
|
5 |
|
|
|
6 |
|
|
int main(void)
|
7 |
|
|
{
|
8 |
|
|
printf("Projet 9\n");
|
9 |
|
|
MG_FILE gest("ejectorBGM.magic");
|
10 |
|
|
MG_MAILLAGE* mai=gest.get_mg_maillage(0);
|
11 |
|
|
int nbnode=mai->get_nb_mg_noeud();
|
12 |
|
|
int nbseg=mai->get_nb_mg_segment();
|
13 |
|
|
int nbtri=mai->get_nb_mg_triangle();
|
14 |
|
|
int nbtetra=mai->get_nb_mg_tetra();
|
15 |
|
|
printf("Au total %d nodes %d segments %d triangles %d tetra\n",nbnode,nbseg,nbtri,nbtetra);
|
16 |
|
|
|
17 |
|
|
double xmin=1e308,ymin=1e308,zmin=1e308,xmax=-1e308,ymax=-1e308,zmax=-1e308;
|
18 |
|
|
LISTE_MG_NOEUD::iterator it;
|
19 |
|
|
|
20 |
|
|
for (MG_NOEUD* no=mai->get_premier_noeud(it);no!=NULL;no=mai->get_suivant_noeud(it))
|
21 |
|
|
{
|
22 |
|
|
if (no->get_x()<xmin) xmin=no->get_x();
|
23 |
|
|
if (no->get_y()<ymin) ymin=no->get_y();
|
24 |
|
|
if (no->get_z()<zmin) zmin=no->get_z();
|
25 |
|
|
if (no->get_x()>xmax) xmax=no->get_x();
|
26 |
|
|
if (no->get_y()>ymax) ymax=no->get_y();
|
27 |
|
|
if (no->get_z()>zmax) zmax=no->get_z();
|
28 |
|
|
}
|
29 |
|
|
|
30 |
|
|
TPL_GRILLE<MG_NOEUD*> grille;
|
31 |
|
|
grille.initialiser(xmin,ymin,zmin,xmax,ymax,zmax,20,20,20);
|
32 |
|
|
for (MG_NOEUD* no=mai->get_premier_noeud(it);no!=NULL;no=mai->get_suivant_noeud(it))
|
33 |
|
|
grille.inserer(no);
|
34 |
|
|
TPL_MAP_ENTITE<MG_NOEUD*> lst;
|
35 |
|
|
grille.rechercher(0.,0.,0.,10,lst);
|
36 |
|
|
|
37 |
|
|
LISTE_MG_SEGMENT::iterator it2;
|
38 |
|
|
TPL_GRILLE<MG_SEGMENT*> grille2;
|
39 |
|
|
grille2.initialiser(xmin,ymin,zmin,xmax,ymax,zmax,20,20,20);
|
40 |
|
|
for (MG_SEGMENT* seg=mai->get_premier_segment(it2);seg!=NULL;seg=mai->get_suivant_segment(it2))
|
41 |
|
|
grille2.inserer(seg);
|
42 |
|
|
TPL_MAP_ENTITE<MG_SEGMENT*> lst2;
|
43 |
|
|
grille2.rechercher(0.,0.,0.,10,lst2);
|
44 |
|
|
|
45 |
|
|
LISTE_MG_TRIANGLE::iterator it3;
|
46 |
|
|
TPL_GRILLE<MG_TRIANGLE*> grille3;
|
47 |
|
|
grille3.initialiser(xmin,ymin,zmin,xmax,ymax,zmax,20,20,20);
|
48 |
|
|
for (MG_TRIANGLE* tri=mai->get_premier_triangle(it3);tri!=NULL;tri=mai->get_suivant_triangle(it3))
|
49 |
|
|
grille3.inserer(tri);
|
50 |
|
|
TPL_MAP_ENTITE<MG_TRIANGLE*> lst3;
|
51 |
|
|
grille3.rechercher(0.,0.,0.,10,lst3);
|
52 |
|
|
|
53 |
|
|
LISTE_MG_TETRA::iterator it4;
|
54 |
|
|
TPL_GRILLE<MG_TETRA*> grille4;
|
55 |
|
|
grille4.initialiser(xmin,ymin,zmin,xmax,ymax,zmax,20,20,20);
|
56 |
|
|
for (MG_TETRA* tet=mai->get_premier_tetra(it4);tet!=NULL;tet=mai->get_suivant_tetra(it4))
|
57 |
|
|
grille4.inserer(tet);
|
58 |
|
|
TPL_MAP_ENTITE<MG_TETRA*> lst4;
|
59 |
|
|
grille4.rechercher(0.,0.,0.,10,lst4);
|
60 |
|
|
|
61 |
|
|
int nbnodeloc=lst.get_nb();
|
62 |
|
|
int nbsegloc=lst2.get_nb();
|
63 |
|
|
int nbtriloc=lst3.get_nb();
|
64 |
|
|
int nbtetraloc=lst4.get_nb();
|
65 |
|
|
printf("Localement %d nodes %d segments %d triangles %d tetra\n",nbnodeloc,nbsegloc,nbtriloc,nbtetraloc);
|
66 |
|
|
}
|