ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/tutoriel/src/main10.cpp
Revision: 479
Committed: Fri Jan 24 19:43:18 2014 UTC (11 years, 4 months ago) by francois
File size: 2526 byte(s)
Log Message:
suppression de warning

File Contents

# User Rev Content
1 cuillier 415 #include "gestionversion.h"
2     #include <stdio.h>
3     #include "mg_file.h"
4     #include "tpl_octree.h"
5    
6     int main(void)
7     {
8     printf("Projet 10\n");
9 francois 479 MG_FILE gest((char*)"ejectorBGM.magic");
10 cuillier 415 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_MAP_ENTITE<MG_NOEUD*> lstnoeud;
31     for (MG_NOEUD* no=mai->get_premier_noeud(it);no!=NULL;no=mai->get_suivant_noeud(it))
32     lstnoeud.ajouter(no);
33    
34     TPL_OCTREE<MG_NOEUD*,MG_NOEUD*> octree;
35     octree.initialiser(&lstnoeud,1,xmin,ymin,zmin,xmax,ymax,zmax);
36     for (MG_NOEUD* no=mai->get_premier_noeud(it);no!=NULL;no=mai->get_suivant_noeud(it))
37     octree.inserer(no);
38     TPL_MAP_ENTITE<MG_NOEUD*> lst;
39     octree.rechercher(0.,0.,0.,10,lst);
40    
41     LISTE_MG_SEGMENT::iterator it2;
42     TPL_OCTREE<MG_SEGMENT*,MG_NOEUD*> octree2;
43     octree2.initialiser(&octree);
44     for (MG_SEGMENT* seg=mai->get_premier_segment(it2);seg!=NULL;seg=mai->get_suivant_segment(it2))
45     octree2.inserer(seg);
46     TPL_MAP_ENTITE<MG_SEGMENT*> lst2;
47     octree2.rechercher(0.,0.,0.,10,lst2);
48    
49     LISTE_MG_TRIANGLE::iterator it3;
50     TPL_OCTREE<MG_TRIANGLE*,MG_NOEUD*> octree3;
51     octree3.initialiser(&octree);
52     for (MG_TRIANGLE* tri=mai->get_premier_triangle(it3);tri!=NULL;tri=mai->get_suivant_triangle(it3))
53     octree3.inserer(tri);
54     TPL_MAP_ENTITE<MG_TRIANGLE*> lst3;
55     octree3.rechercher(0.,0.,0.,10,lst3);
56    
57     LISTE_MG_TETRA::iterator it4;
58     TPL_OCTREE<MG_TETRA*,MG_NOEUD*> octree4;
59     octree4.initialiser(&octree);
60     for (MG_TETRA* tet=mai->get_premier_tetra(it4);tet!=NULL;tet=mai->get_suivant_tetra(it4))
61     octree4.inserer(tet);
62     TPL_MAP_ENTITE<MG_TETRA*> lst4;
63     octree4.rechercher(0.,0.,0.,10,lst4);
64    
65     int nbnodeloc=lst.get_nb();
66     int nbsegloc=lst2.get_nb();
67     int nbtriloc=lst3.get_nb();
68     int nbtetraloc=lst4.get_nb();
69     printf("Localement %d nodes %d segments %d triangles %d tetra\n",nbnodeloc,nbsegloc,nbtriloc,nbtetraloc);
70     }

Properties

Name Value
svn:executable *