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, 10 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

# Content
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 }