ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/trans_maillage/src/main.cpp
Revision: 557
Committed: Thu Oct 2 01:56:12 2014 UTC (10 years, 11 months ago) by sattarpa
File size: 7891 byte(s)
Log Message:
point insertion modifed by adding a parameter limiting the min. quality of generetaed triangles.

File Contents

# User Rev Content
1 sattarpa 439 #include "gestionversion.h"
2     #include <stdio.h>
3     #include "mg_file.h"
4     #include "occ_import.h"
5 francois 481 #include "fct_generateur_3d.h"
6 sattarpa 439 #include "mailleur0d.h"
7     #include "mailleur1d.h"
8     #include "mailleur2d.h"
9     #include "mailleur3d.h"
10     #include "mg_geometrie_outils.h"
11     #include "mailleur2d_ins_noeud.h"
12     #include "magic_application.h"
13 sattarpa 546 #include "mailleur2d_stl_refine_ins_noeud.h"
14 sattarpa 439
15     int main(int argc,char** argv)
16     {
17     std::vector<MAGIC_PARAMETRE_APPLICATION> lst;
18     MAGIC_PARAMETRE_APPLICATION p1(3,(char*)"-nummai",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Numéro de maillage - Defaut le premier");
19 sattarpa 464 MAGIC_PARAMETRE_APPLICATION p2(4,(char*)"-fichierpoint",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Nom du fichier de points à inserer");
20     MAGIC_PARAMETRE_APPLICATION p3(5,(char*)"-nivopt",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Niveau de optimisation - Defaut 5");
21 sattarpa 471 MAGIC_PARAMETRE_APPLICATION p4(6,(char*)"-qualswap",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Si appliquer la qualité de swap-diagonal > 0 - Defaut 0");
22 sattarpa 542 MAGIC_PARAMETRE_APPLICATION p5(7,(char*)"-pinsansbc",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Insertion de noeuds sans des conditions limites");
23     MAGIC_PARAMETRE_APPLICATION p6(8,(char*)"-pinsavecbc",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Insertion de noeuds avec des conditions limites");
24 sattarpa 546 MAGIC_PARAMETRE_APPLICATION p7(9,(char*)"-stlrefconst",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Raffinement de fichier STL avec une taille constante");
25     MAGIC_PARAMETRE_APPLICATION p8(10,(char*)"-stlrefcartsiz",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Raffinement de fichier STL basée sur la taille de carte");
26     MAGIC_PARAMETRE_APPLICATION p9(11,(char*)"-fichiercarte",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Nom du fichier de la taille de carte");
27     MAGIC_PARAMETRE_APPLICATION p10(12,(char*)"-stlpinsansbc",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Insertion de noeuds sans des conditions limites dans un fichier STL");
28     MAGIC_PARAMETRE_APPLICATION p11(13,(char*)"-stlpinsavecbc",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Insertion de noeuds avec des conditions limites dans un fichier STL");
29 sattarpa 557 MAGIC_PARAMETRE_APPLICATION p12(14,(char*)"-gentriqual",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"The minimum quality limit for genearted triangles - Defaut 0.2");
30 sattarpa 546
31 sattarpa 542 p5.ajouter_dependance(1);p5.ajouter_dependance(2);p5.ajouter_dependance(3);p5.ajouter_dependance(4);p5.ajouter_dependance(5);p5.ajouter_dependance(6);
32 sattarpa 557 p6.ajouter_dependance(1);p6.ajouter_dependance(2);p6.ajouter_dependance(3);p6.ajouter_dependance(4);p6.ajouter_dependance(5);p6.ajouter_dependance(6);p6.ajouter_dependance(14);
33 sattarpa 546 p7.ajouter_dependance(1);p7.ajouter_dependance(2);p7.ajouter_dependance(3);
34     p8.ajouter_dependance(1);p8.ajouter_dependance(2);p8.ajouter_dependance(3);p8.ajouter_dependance(11);
35     p10.ajouter_dependance(1);p10.ajouter_dependance(2);p10.ajouter_dependance(3);p10.ajouter_dependance(4);p10.ajouter_dependance(6);
36     p11.ajouter_dependance(1);p11.ajouter_dependance(2);p11.ajouter_dependance(3);p11.ajouter_dependance(4);p11.ajouter_dependance(6);
37 sattarpa 439 lst.push_back(p1);
38     lst.push_back(p2);
39 sattarpa 455 lst.push_back(p3);
40 sattarpa 542 lst.push_back(p4);
41     lst.push_back(p5);
42     lst.push_back(p6);
43 sattarpa 546 lst.push_back(p7);
44     lst.push_back(p8);
45     lst.push_back(p9);
46     lst.push_back(p10);
47     lst.push_back(p11);
48 sattarpa 557 lst.push_back(p12);
49 sattarpa 546 MAGIC_APPLICATION app((char*)"Insertion de noeuds dans une triangulation integrée à une géométrie ou sans géométrie (fichier STL)",argc,argv,lst,true,true);
50 sattarpa 439 if (app.get_erreur()==true) return 0;
51 sattarpa 542
52     if(app.get_action()==7)
53     {
54 sattarpa 439 char magicfilename[3000];
55     char inspointfilename[3000];
56     char outputfilename[3000];
57     int meshno;
58 sattarpa 455 int nivopt;
59 sattarpa 471 int qualswap;
60 sattarpa 439 app.recupere_parametre_string(1,magicfilename,(char*)"Fichier d'entrée manquant");
61     app.recupere_parametre_string_avec_defaut(2,outputfilename,magicfilename);
62     app.recupere_parametre_int_avec_defaut(3,meshno,0);
63 sattarpa 464 app.recupere_parametre_string(4,inspointfilename,(char*)"Fichier de points manquant");
64     app.recupere_parametre_int_avec_defaut(5,nivopt,5);
65 sattarpa 471 app.recupere_parametre_int_avec_defaut(6,qualswap,0);
66 sattarpa 439 if (app.get_erreur()==true) return 0;
67 sattarpa 471 MAILLEUR2D_INS_NOEUD pinse(magicfilename,meshno,inspointfilename,outputfilename,nivopt,qualswap);
68 francois 456 pinse.active_affichage(app.affiche);
69     pinse.ins_points();
70 sattarpa 439 app.affiche((char*)"Fin");
71     }
72 sattarpa 542 if(app.get_action()==8)
73     {
74     char magicfilename[3000];
75     char inspointfilename[3000];
76     char outputfilename[3000];
77     int meshno;
78     int nivopt;
79     int qualswap;
80 sattarpa 557 double gentriqual;
81 sattarpa 542 app.recupere_parametre_string(1,magicfilename,(char*)"Fichier d'entrée manquant");
82     app.recupere_parametre_string_avec_defaut(2,outputfilename,magicfilename);
83     app.recupere_parametre_int_avec_defaut(3,meshno,0);
84     app.recupere_parametre_string(4,inspointfilename,(char*)"Fichier de points manquant avec des conditions limites");
85     app.recupere_parametre_int_avec_defaut(5,nivopt,5);
86     app.recupere_parametre_int_avec_defaut(6,qualswap,0);
87 sattarpa 557 app.recupere_parametre_double_avec_defaut(14,gentriqual,0.2);
88 sattarpa 542 if (app.get_erreur()==true) return 0;
89     MAILLEUR2D_INS_NOEUD pinse(magicfilename,meshno,inspointfilename,outputfilename,nivopt,qualswap);
90     pinse.active_affichage(app.affiche);
91 sattarpa 557 pinse.ins_point_withbc(gentriqual);
92 sattarpa 542 app.affiche((char*)"Fin");
93     }
94    
95 sattarpa 546 if(app.get_action()==9)
96     {
97     char fichierstlmagic[3000];
98     char fichierout[3000];
99     int nummai;
100     app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant");
101     app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic);
102     app.recupere_parametre_int_avec_defaut(3,nummai,0);
103     if (app.get_erreur()==true) return 0;
104    
105     MAILLEUR2D_STL_REFINE_INS_NOEUD stlrf(fichierstlmagic,fichierout,nummai);
106     stlrf.active_affichage(app.affiche);
107     stlrf.stl_refining();
108     app.affiche((char*)"Fin");
109     }
110    
111     if(app.get_action()==10)
112     {
113     char fichierstlmagic[3000];
114     char fichierout[3000];
115     char fichiercarte[3000];
116     int nummai;
117 sattarpa 542
118 sattarpa 546 app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant");
119     app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic);
120     app.recupere_parametre_int_avec_defaut(3,nummai,0);
121     app.recupere_parametre_string(11,fichiercarte,(char*)"Fichier de de la taille de carte manquant");
122    
123     if (app.get_erreur()==true) return 0;
124     MAILLEUR2D_STL_REFINE_INS_NOEUD stlrfszmp(fichierstlmagic,fichierout,fichiercarte,nummai);
125     stlrfszmp.active_affichage(app.affiche);
126     stlrfszmp.stl_sizmpref();
127     app.affiche((char*)"Fin");
128 sattarpa 542 }
129 sattarpa 546
130     if(app.get_action()==12)
131     {
132     char fichierstlmagic[3000];
133     char fichierinspoint[3000];
134     char fichierout[3000];
135     int nummai;
136     int qualswap;
137     app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant, fichier stl.magic");
138     app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic);
139     app.recupere_parametre_int_avec_defaut(3,nummai,0);
140     app.recupere_parametre_string(4,fichierinspoint,(char*)"Fichier de points manquant");
141     app.recupere_parametre_int_avec_defaut(6,qualswap,0);
142     if (app.get_erreur()==true) return 0;
143     MAILLEUR2D_STL_REFINE_INS_NOEUD stlpinse(fichierstlmagic,fichierinspoint,fichierout,nummai,qualswap);
144     stlpinse.active_affichage(app.affiche);
145     stlpinse.stlins_points();
146     app.affiche((char*)"Fin");
147     }
148     if(app.get_action()==13)
149     {
150     char fichierstlmagic[3000];
151     char fichierinspoint[3000];
152     char fichierout[3000];
153     int nummai;
154     int qualswap;
155     app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant, fichier stl.magic");
156     app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic);
157     app.recupere_parametre_int_avec_defaut(3,nummai,0);
158     app.recupere_parametre_string(4,fichierinspoint,(char*)"Fichier de points manquant");
159     app.recupere_parametre_int_avec_defaut(6,qualswap,0);
160     if (app.get_erreur()==true) return 0;
161     MAILLEUR2D_STL_REFINE_INS_NOEUD stlpinse(fichierstlmagic,fichierinspoint,fichierout,nummai,qualswap);
162     stlpinse.active_affichage(app.affiche);
163     stlpinse.stlins_point_withbc();
164     app.affiche((char*)"Fin");
165     }
166    
167     return 0;
168     }