1 |
#include "gestionversion.h" |
2 |
#include <stdio.h> |
3 |
#include "mg_file.h" |
4 |
#include "occ_import.h" |
5 |
#include "fct_generateur_3d.h" |
6 |
#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 |
#include "mailleur2d_stl_refine_ins_noeud.h" |
14 |
|
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 |
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 |
MAGIC_PARAMETRE_APPLICATION p4(6,(char*)"-qualswap",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Si appliquer la qualité de swap-diagonal > 0 - Defaut 0"); |
22 |
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 |
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 |
MAGIC_PARAMETRE_APPLICATION p12(14,(char*)"-gentriqual",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"The minimum quality limit for genearted triangles - Defaut 0.2"); |
30 |
|
31 |
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 |
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 |
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 |
lst.push_back(p1); |
38 |
lst.push_back(p2); |
39 |
lst.push_back(p3); |
40 |
lst.push_back(p4); |
41 |
lst.push_back(p5); |
42 |
lst.push_back(p6); |
43 |
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 |
lst.push_back(p12); |
49 |
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 |
if (app.get_erreur()==true) return 0; |
51 |
|
52 |
if(app.get_action()==7) |
53 |
{ |
54 |
char magicfilename[3000]; |
55 |
char inspointfilename[3000]; |
56 |
char outputfilename[3000]; |
57 |
int meshno; |
58 |
int nivopt; |
59 |
int qualswap; |
60 |
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 |
app.recupere_parametre_string(4,inspointfilename,(char*)"Fichier de points manquant"); |
64 |
app.recupere_parametre_int_avec_defaut(5,nivopt,5); |
65 |
app.recupere_parametre_int_avec_defaut(6,qualswap,0); |
66 |
if (app.get_erreur()==true) return 0; |
67 |
MAILLEUR2D_INS_NOEUD pinse(magicfilename,meshno,inspointfilename,outputfilename,nivopt,qualswap); |
68 |
pinse.active_affichage(app.affiche); |
69 |
pinse.ins_points(); |
70 |
app.affiche((char*)"Fin"); |
71 |
} |
72 |
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 |
double gentriqual; |
81 |
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 |
app.recupere_parametre_double_avec_defaut(14,gentriqual,0.2); |
88 |
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 |
pinse.ins_point_withbc(gentriqual); |
92 |
app.affiche((char*)"Fin"); |
93 |
} |
94 |
|
95 |
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 |
|
118 |
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 |
} |
129 |
|
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 |
} |