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 |
658 |
MAGIC_PARAMETRE_APPLICATION p4(6,(char*)"-qualswap",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Si appliquer la qualité de swap-diagonal > 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 |
650 |
MAGIC_PARAMETRE_APPLICATION p13(15,(char*)"-proxval",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"The proximity value (very close; before using proximity)"); |
31 |
|
|
MAGIC_PARAMETRE_APPLICATION p14(16,(char*)"-proxedgeval",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"The proximity value for points close to edges (very close; before using proximity)"); |
32 |
sattarpa |
658 |
MAGIC_PARAMETRE_APPLICATION p15(17,(char*)"-mesh_size",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"The global mesh_size of model mesh"); |
33 |
|
|
MAGIC_PARAMETRE_APPLICATION p16(18,(char*)"-gnifoutputfilename",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Nom du fichier de gnifoutputfilename"); |
34 |
|
|
MAGIC_PARAMETRE_APPLICATION p17(19,(char*)"-insremtyp",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"if point insertion with type => insremtyp>0"); |
35 |
sattarpa |
546 |
|
36 |
sattarpa |
650 |
|
37 |
|
|
p5.ajouter_dependance(1);p5.ajouter_dependance(2);p5.ajouter_dependance(3);p5.ajouter_dependance(4);p5.ajouter_dependance(5);p5.ajouter_dependance(6);p5.ajouter_dependance(15);;p5.ajouter_dependance(16); |
38 |
sattarpa |
658 |
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);p6.ajouter_dependance(15); |
39 |
|
|
p6.ajouter_dependance(16);p6.ajouter_dependance(17);p6.ajouter_dependance(18);p6.ajouter_dependance(19); |
40 |
sattarpa |
546 |
p7.ajouter_dependance(1);p7.ajouter_dependance(2);p7.ajouter_dependance(3); |
41 |
|
|
p8.ajouter_dependance(1);p8.ajouter_dependance(2);p8.ajouter_dependance(3);p8.ajouter_dependance(11); |
42 |
|
|
p10.ajouter_dependance(1);p10.ajouter_dependance(2);p10.ajouter_dependance(3);p10.ajouter_dependance(4);p10.ajouter_dependance(6); |
43 |
|
|
p11.ajouter_dependance(1);p11.ajouter_dependance(2);p11.ajouter_dependance(3);p11.ajouter_dependance(4);p11.ajouter_dependance(6); |
44 |
sattarpa |
439 |
lst.push_back(p1); |
45 |
|
|
lst.push_back(p2); |
46 |
sattarpa |
455 |
lst.push_back(p3); |
47 |
sattarpa |
542 |
lst.push_back(p4); |
48 |
|
|
lst.push_back(p5); |
49 |
|
|
lst.push_back(p6); |
50 |
sattarpa |
546 |
lst.push_back(p7); |
51 |
|
|
lst.push_back(p8); |
52 |
|
|
lst.push_back(p9); |
53 |
|
|
lst.push_back(p10); |
54 |
|
|
lst.push_back(p11); |
55 |
sattarpa |
557 |
lst.push_back(p12); |
56 |
sattarpa |
650 |
lst.push_back(p13); |
57 |
|
|
lst.push_back(p14); |
58 |
sattarpa |
658 |
lst.push_back(p15); |
59 |
|
|
lst.push_back(p16); |
60 |
|
|
lst.push_back(p17); |
61 |
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); |
62 |
sattarpa |
439 |
if (app.get_erreur()==true) return 0; |
63 |
sattarpa |
542 |
|
64 |
|
|
if(app.get_action()==7) |
65 |
|
|
{ |
66 |
sattarpa |
439 |
char magicfilename[3000]; |
67 |
|
|
char inspointfilename[3000]; |
68 |
|
|
char outputfilename[3000]; |
69 |
|
|
int meshno; |
70 |
sattarpa |
455 |
int nivopt; |
71 |
sattarpa |
471 |
int qualswap; |
72 |
sattarpa |
650 |
double proxval; |
73 |
|
|
double proxedgeval; |
74 |
sattarpa |
439 |
app.recupere_parametre_string(1,magicfilename,(char*)"Fichier d'entrée manquant"); |
75 |
|
|
app.recupere_parametre_string_avec_defaut(2,outputfilename,magicfilename); |
76 |
|
|
app.recupere_parametre_int_avec_defaut(3,meshno,0); |
77 |
sattarpa |
464 |
app.recupere_parametre_string(4,inspointfilename,(char*)"Fichier de points manquant"); |
78 |
|
|
app.recupere_parametre_int_avec_defaut(5,nivopt,5); |
79 |
sattarpa |
658 |
app.recupere_parametre_int(6,qualswap,(char*)"Value de qualswap manquant"); |
80 |
sattarpa |
651 |
app.recupere_parametre_double(15,proxval,(char*)"value du proxval manquant"); |
81 |
|
|
app.recupere_parametre_double(16,proxedgeval,(char*)"value du proxval manquant"); |
82 |
sattarpa |
439 |
if (app.get_erreur()==true) return 0; |
83 |
sattarpa |
650 |
MAILLEUR2D_INS_NOEUD pinse(magicfilename,meshno,inspointfilename,outputfilename,nivopt,qualswap,proxval,proxedgeval); |
84 |
francois |
456 |
pinse.active_affichage(app.affiche); |
85 |
|
|
pinse.ins_points(); |
86 |
sattarpa |
439 |
app.affiche((char*)"Fin"); |
87 |
|
|
} |
88 |
sattarpa |
542 |
if(app.get_action()==8) |
89 |
|
|
{ |
90 |
|
|
char magicfilename[3000]; |
91 |
|
|
char inspointfilename[3000]; |
92 |
|
|
char outputfilename[3000]; |
93 |
|
|
int meshno; |
94 |
|
|
int nivopt; |
95 |
|
|
int qualswap; |
96 |
sattarpa |
557 |
double gentriqual; |
97 |
sattarpa |
650 |
double proxval; |
98 |
|
|
double proxedgeval; |
99 |
sattarpa |
658 |
double mesh_size; |
100 |
|
|
char gnifoutputfilename[3000]; |
101 |
|
|
int insremtyp; |
102 |
sattarpa |
542 |
app.recupere_parametre_string(1,magicfilename,(char*)"Fichier d'entrée manquant"); |
103 |
|
|
app.recupere_parametre_string_avec_defaut(2,outputfilename,magicfilename); |
104 |
|
|
app.recupere_parametre_int_avec_defaut(3,meshno,0); |
105 |
|
|
app.recupere_parametre_string(4,inspointfilename,(char*)"Fichier de points manquant avec des conditions limites"); |
106 |
|
|
app.recupere_parametre_int_avec_defaut(5,nivopt,5); |
107 |
sattarpa |
658 |
app.recupere_parametre_int(6,qualswap,(char*)"Value de qualswap manquant"); |
108 |
sattarpa |
557 |
app.recupere_parametre_double_avec_defaut(14,gentriqual,0.2); |
109 |
sattarpa |
651 |
app.recupere_parametre_double(15,proxval,(char*)"value du proxval manquant"); |
110 |
sattarpa |
658 |
app.recupere_parametre_double(16,proxedgeval,(char*)"value du proxedgeval manquant"); |
111 |
|
|
app.recupere_parametre_double(17,mesh_size,(char*)"value du mesh_size manquant"); |
112 |
|
|
app.recupere_parametre_string(18,gnifoutputfilename,(char*)"Fichier de gnifoutputfilename"); |
113 |
|
|
app.recupere_parametre_int(19,insremtyp,(char*)"Value de insremtyp manquant"); |
114 |
|
|
|
115 |
sattarpa |
542 |
if (app.get_erreur()==true) return 0; |
116 |
sattarpa |
650 |
MAILLEUR2D_INS_NOEUD pinse(magicfilename,meshno,inspointfilename,outputfilename,nivopt,qualswap,proxval,proxedgeval); |
117 |
sattarpa |
542 |
pinse.active_affichage(app.affiche); |
118 |
sattarpa |
658 |
pinse.ins_point_withbc(gentriqual,mesh_size,gnifoutputfilename,insremtyp); |
119 |
sattarpa |
542 |
app.affiche((char*)"Fin"); |
120 |
|
|
} |
121 |
|
|
|
122 |
sattarpa |
546 |
if(app.get_action()==9) |
123 |
|
|
{ |
124 |
|
|
char fichierstlmagic[3000]; |
125 |
|
|
char fichierout[3000]; |
126 |
|
|
int nummai; |
127 |
|
|
app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant"); |
128 |
|
|
app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic); |
129 |
|
|
app.recupere_parametre_int_avec_defaut(3,nummai,0); |
130 |
|
|
if (app.get_erreur()==true) return 0; |
131 |
|
|
|
132 |
|
|
MAILLEUR2D_STL_REFINE_INS_NOEUD stlrf(fichierstlmagic,fichierout,nummai); |
133 |
|
|
stlrf.active_affichage(app.affiche); |
134 |
|
|
stlrf.stl_refining(); |
135 |
|
|
app.affiche((char*)"Fin"); |
136 |
|
|
} |
137 |
|
|
|
138 |
|
|
if(app.get_action()==10) |
139 |
|
|
{ |
140 |
|
|
char fichierstlmagic[3000]; |
141 |
|
|
char fichierout[3000]; |
142 |
|
|
char fichiercarte[3000]; |
143 |
|
|
int nummai; |
144 |
sattarpa |
542 |
|
145 |
sattarpa |
546 |
app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant"); |
146 |
|
|
app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic); |
147 |
|
|
app.recupere_parametre_int_avec_defaut(3,nummai,0); |
148 |
|
|
app.recupere_parametre_string(11,fichiercarte,(char*)"Fichier de de la taille de carte manquant"); |
149 |
|
|
|
150 |
|
|
if (app.get_erreur()==true) return 0; |
151 |
|
|
MAILLEUR2D_STL_REFINE_INS_NOEUD stlrfszmp(fichierstlmagic,fichierout,fichiercarte,nummai); |
152 |
|
|
stlrfszmp.active_affichage(app.affiche); |
153 |
|
|
stlrfszmp.stl_sizmpref(); |
154 |
|
|
app.affiche((char*)"Fin"); |
155 |
sattarpa |
542 |
} |
156 |
sattarpa |
546 |
|
157 |
|
|
if(app.get_action()==12) |
158 |
|
|
{ |
159 |
|
|
char fichierstlmagic[3000]; |
160 |
|
|
char fichierinspoint[3000]; |
161 |
|
|
char fichierout[3000]; |
162 |
|
|
int nummai; |
163 |
|
|
int qualswap; |
164 |
|
|
app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant, fichier stl.magic"); |
165 |
|
|
app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic); |
166 |
|
|
app.recupere_parametre_int_avec_defaut(3,nummai,0); |
167 |
|
|
app.recupere_parametre_string(4,fichierinspoint,(char*)"Fichier de points manquant"); |
168 |
sattarpa |
658 |
app.recupere_parametre_int(6,qualswap,(char*)"Value de qualswap manquant"); |
169 |
sattarpa |
546 |
if (app.get_erreur()==true) return 0; |
170 |
|
|
MAILLEUR2D_STL_REFINE_INS_NOEUD stlpinse(fichierstlmagic,fichierinspoint,fichierout,nummai,qualswap); |
171 |
|
|
stlpinse.active_affichage(app.affiche); |
172 |
|
|
stlpinse.stlins_points(); |
173 |
|
|
app.affiche((char*)"Fin"); |
174 |
|
|
} |
175 |
|
|
if(app.get_action()==13) |
176 |
|
|
{ |
177 |
|
|
char fichierstlmagic[3000]; |
178 |
|
|
char fichierinspoint[3000]; |
179 |
|
|
char fichierout[3000]; |
180 |
|
|
int nummai; |
181 |
|
|
int qualswap; |
182 |
|
|
app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant, fichier stl.magic"); |
183 |
|
|
app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic); |
184 |
|
|
app.recupere_parametre_int_avec_defaut(3,nummai,0); |
185 |
|
|
app.recupere_parametre_string(4,fichierinspoint,(char*)"Fichier de points manquant"); |
186 |
sattarpa |
658 |
app.recupere_parametre_int(6,qualswap,(char*)"Value de qualswap manquant"); |
187 |
sattarpa |
546 |
if (app.get_erreur()==true) return 0; |
188 |
|
|
MAILLEUR2D_STL_REFINE_INS_NOEUD stlpinse(fichierstlmagic,fichierinspoint,fichierout,nummai,qualswap); |
189 |
|
|
stlpinse.active_affichage(app.affiche); |
190 |
|
|
stlpinse.stlins_point_withbc(); |
191 |
|
|
app.affiche((char*)"Fin"); |
192 |
|
|
} |
193 |
|
|
|
194 |
|
|
return 0; |
195 |
|
|
} |