ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/trans_maillage/src/main.cpp
Revision: 650
Committed: Wed Feb 11 00:03:21 2015 UTC (10 years, 6 months ago) by sattarpa
File size: 8502 byte(s)
Log Message:
proximity parameters added to "mailleur2d_ins_noeud"
relative curvature calculation added to "criaqoperators"

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 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
33
34 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);
35 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);p6.ajouter_dependance(16);
36 p7.ajouter_dependance(1);p7.ajouter_dependance(2);p7.ajouter_dependance(3);
37 p8.ajouter_dependance(1);p8.ajouter_dependance(2);p8.ajouter_dependance(3);p8.ajouter_dependance(11);
38 p10.ajouter_dependance(1);p10.ajouter_dependance(2);p10.ajouter_dependance(3);p10.ajouter_dependance(4);p10.ajouter_dependance(6);
39 p11.ajouter_dependance(1);p11.ajouter_dependance(2);p11.ajouter_dependance(3);p11.ajouter_dependance(4);p11.ajouter_dependance(6);
40 lst.push_back(p1);
41 lst.push_back(p2);
42 lst.push_back(p3);
43 lst.push_back(p4);
44 lst.push_back(p5);
45 lst.push_back(p6);
46 lst.push_back(p7);
47 lst.push_back(p8);
48 lst.push_back(p9);
49 lst.push_back(p10);
50 lst.push_back(p11);
51 lst.push_back(p12);
52 lst.push_back(p13);
53 lst.push_back(p14);
54
55 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);
56 if (app.get_erreur()==true) return 0;
57
58 if(app.get_action()==7)
59 {
60 char magicfilename[3000];
61 char inspointfilename[3000];
62 char outputfilename[3000];
63 int meshno;
64 int nivopt;
65 int qualswap;
66 double proxval;
67 double proxedgeval;
68 app.recupere_parametre_string(1,magicfilename,(char*)"Fichier d'entrée manquant");
69 app.recupere_parametre_string_avec_defaut(2,outputfilename,magicfilename);
70 app.recupere_parametre_int_avec_defaut(3,meshno,0);
71 app.recupere_parametre_string(4,inspointfilename,(char*)"Fichier de points manquant");
72 app.recupere_parametre_int_avec_defaut(5,nivopt,5);
73 app.recupere_parametre_int_avec_defaut(6,qualswap,0);
74 if (app.get_erreur()==true) return 0;
75 MAILLEUR2D_INS_NOEUD pinse(magicfilename,meshno,inspointfilename,outputfilename,nivopt,qualswap,proxval,proxedgeval);
76 pinse.active_affichage(app.affiche);
77 pinse.ins_points();
78 app.affiche((char*)"Fin");
79 }
80 if(app.get_action()==8)
81 {
82 char magicfilename[3000];
83 char inspointfilename[3000];
84 char outputfilename[3000];
85 int meshno;
86 int nivopt;
87 int qualswap;
88 double gentriqual;
89 double proxval;
90 double proxedgeval;
91 app.recupere_parametre_string(1,magicfilename,(char*)"Fichier d'entrée manquant");
92 app.recupere_parametre_string_avec_defaut(2,outputfilename,magicfilename);
93 app.recupere_parametre_int_avec_defaut(3,meshno,0);
94 app.recupere_parametre_string(4,inspointfilename,(char*)"Fichier de points manquant avec des conditions limites");
95 app.recupere_parametre_int_avec_defaut(5,nivopt,5);
96 app.recupere_parametre_int_avec_defaut(6,qualswap,0);
97 app.recupere_parametre_double_avec_defaut(14,gentriqual,0.2);
98 if (app.get_erreur()==true) return 0;
99 MAILLEUR2D_INS_NOEUD pinse(magicfilename,meshno,inspointfilename,outputfilename,nivopt,qualswap,proxval,proxedgeval);
100 pinse.active_affichage(app.affiche);
101 pinse.ins_point_withbc(gentriqual);
102 app.affiche((char*)"Fin");
103 }
104
105 if(app.get_action()==9)
106 {
107 char fichierstlmagic[3000];
108 char fichierout[3000];
109 int nummai;
110 app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant");
111 app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic);
112 app.recupere_parametre_int_avec_defaut(3,nummai,0);
113 if (app.get_erreur()==true) return 0;
114
115 MAILLEUR2D_STL_REFINE_INS_NOEUD stlrf(fichierstlmagic,fichierout,nummai);
116 stlrf.active_affichage(app.affiche);
117 stlrf.stl_refining();
118 app.affiche((char*)"Fin");
119 }
120
121 if(app.get_action()==10)
122 {
123 char fichierstlmagic[3000];
124 char fichierout[3000];
125 char fichiercarte[3000];
126 int nummai;
127
128 app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant");
129 app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic);
130 app.recupere_parametre_int_avec_defaut(3,nummai,0);
131 app.recupere_parametre_string(11,fichiercarte,(char*)"Fichier de de la taille de carte manquant");
132
133 if (app.get_erreur()==true) return 0;
134 MAILLEUR2D_STL_REFINE_INS_NOEUD stlrfszmp(fichierstlmagic,fichierout,fichiercarte,nummai);
135 stlrfszmp.active_affichage(app.affiche);
136 stlrfszmp.stl_sizmpref();
137 app.affiche((char*)"Fin");
138 }
139
140 if(app.get_action()==12)
141 {
142 char fichierstlmagic[3000];
143 char fichierinspoint[3000];
144 char fichierout[3000];
145 int nummai;
146 int qualswap;
147 app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant, fichier stl.magic");
148 app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic);
149 app.recupere_parametre_int_avec_defaut(3,nummai,0);
150 app.recupere_parametre_string(4,fichierinspoint,(char*)"Fichier de points manquant");
151 app.recupere_parametre_int_avec_defaut(6,qualswap,0);
152 if (app.get_erreur()==true) return 0;
153 MAILLEUR2D_STL_REFINE_INS_NOEUD stlpinse(fichierstlmagic,fichierinspoint,fichierout,nummai,qualswap);
154 stlpinse.active_affichage(app.affiche);
155 stlpinse.stlins_points();
156 app.affiche((char*)"Fin");
157 }
158 if(app.get_action()==13)
159 {
160 char fichierstlmagic[3000];
161 char fichierinspoint[3000];
162 char fichierout[3000];
163 int nummai;
164 int qualswap;
165 app.recupere_parametre_string(1,fichierstlmagic,(char*)"Fichier d'entrée manquant, fichier stl.magic");
166 app.recupere_parametre_string_avec_defaut(2,fichierout,fichierstlmagic);
167 app.recupere_parametre_int_avec_defaut(3,nummai,0);
168 app.recupere_parametre_string(4,fichierinspoint,(char*)"Fichier de points manquant");
169 app.recupere_parametre_int_avec_defaut(6,qualswap,0);
170 if (app.get_erreur()==true) return 0;
171 MAILLEUR2D_STL_REFINE_INS_NOEUD stlpinse(fichierstlmagic,fichierinspoint,fichierout,nummai,qualswap);
172 stlpinse.active_affichage(app.affiche);
173 stlpinse.stlins_point_withbc();
174 app.affiche((char*)"Fin");
175 }
176
177 return 0;
178 }