00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "menu-bar.qt.hh"
00025 #include "window.qt.hh"
00026 #include "HtmlEntities.hh"
00027
00028 #include <QtGui/QPixmap>
00029
00030
00031
00032
00033 MenuBar :: MenuBar(Window * parent)
00034 :
00035 QMenuBar(parent),
00036 FParent(parent)
00037 {
00038 QIcon pf0(":/nouveau.png");
00039 QIcon pf1(":/charger.png") ;
00040 QIcon pf2(":/ajouter.png") ;
00041 QIcon pf3(":/sauver.png") ;
00042 QIcon pf7(":/file-import-48x48.png") ;
00043 QIcon pf4(":/file-export-48x48.png") ;
00044 QIcon pf5(":/quitter.png") ;
00045 QIcon pf6(":/etage.png") ;
00046
00047 QIcon pe1(":/undo.png") ;
00048 QIcon pe2(":/redo.png") ;
00049 QIcon pe3(":/vider.png") ;
00050 QIcon pe4(":/boutonOptions.png") ;
00051
00052 QIcon po1(":/aide.png") ;
00053 QIcon po2(":/grille.png") ;
00054
00055 QIcon pc1(":/polyligne.png") ;
00056 QIcon pc2(":/polygone.png") ;
00057 QIcon pc3(":/maillage.png") ;
00058 QIcon pc4(":/sphere.png") ;
00059 QIcon pc5(":/cylindre.png") ;
00060 QIcon pc6(":/cone.png") ;
00061 QIcon pc7(":/tore.png") ;
00062
00063 QIcon pop1(":/homothetie.png") ;
00064 QIcon pop2(":/translation.png") ;
00065 QIcon pop3(":/rotation.png") ;
00066
00067 QIcon pv1(":/addvue.png") ;
00068 QIcon pv2(":/deletevue.png") ;
00069 QIcon pv3(":/groupervues.png") ;
00070 QIcon pv4(":/degroupervues.png") ;
00071
00072 #ifdef MODULE_ARCHITECTURE
00073 QString* str_piece = HTML::decode("Pièces");
00074 QString* str_fenetre = HTML::decode("Fenêtres");
00075 #endif // MODULE_ARCHITECTURE
00076
00077
00078
00079 fichier = new QMenu("&Fichier");
00080 fichier_act = addMenu(fichier);
00081
00082 fichier -> addAction(pf0 , "&Nouveau" , FParent ,
00083 SLOT(callbackNettoyage()) , Qt::CTRL + Qt::Key_N) ;
00084
00085 charger_act = fichier -> addAction(pf1 , "&Charger" , FParent ,
00086 SLOT(callbackLoad()) ,
00087 Qt::CTRL + Qt::Key_O) ;
00088
00089 ajouter_act = fichier -> addAction(pf2 , "&Ajouter" , FParent ,
00090 SLOT(callbackAdd()) ,
00091 Qt::CTRL + Qt::Key_A) ;
00092
00093 sauver_act = fichier -> addAction(pf3 , "&Sauver" , FParent ,
00094 SLOT(callbackSave()) ,
00095 Qt::CTRL + Qt::Key_S) ;
00096
00097 fichier -> addSeparator() ;
00098
00099 importer_act = fichier -> addAction(pf7 , "Importer" , FParent ,
00100 SLOT(callbackImport())) ;
00101
00102 exporter_act = fichier -> addAction(pf4 , "Exporter" , FParent ,
00103 SLOT(callbackExport())) ;
00104
00105 fichier -> addSeparator() ;
00106
00107 fichier -> addAction("Chercher motif" , FParent ,
00108 SLOT(callbackFindMotif())) ;
00109
00110 fichier -> addAction("Compter tout les motifs" , FParent ,
00111 SLOT(callbackCountMotifs())) ;
00112
00113 fichier -> addSeparator() ;
00114
00115 #ifdef MODULE_ARCHITECTURE
00116 ajout_etage_act = fichier ->
00117 addAction(pf6 , *HTML::decode("&Ajouter étage 3D"),
00118 FParent, SLOT(callbackEtage3D()) ,
00119 Qt::CTRL + Qt::Key_T) ;
00120
00121 ajout_plan2D_act = fichier -> addAction(pf6, "Ajouter un plan 2D", FParent,
00122 SLOT(callbackAjoutPlan2D()),
00123 Qt::CTRL + Qt::Key_Y);
00124
00125 fichier -> addSeparator() ;
00126 ajout_etage_act -> setVisible(false);
00127 ajout_plan2D_act -> setVisible(false);
00128 #endif
00129
00130 fichier -> addAction(pf5 , "Quitter" , FParent ,
00131 SLOT(callbackQuit()) , Qt::CTRL + Qt::Key_Q) ;
00132
00133
00134
00135 edition = new QMenu("&Edition");
00136 edition_act = addMenu(edition);
00137
00138 edition -> addAction(pe1 , "&Annuler" , FParent ,
00139 SLOT(callbackUndo()) , Qt::Key_U) ;
00140 edition -> addAction(pe2 , "&Refaire" , FParent ,
00141 SLOT(callbackRedo()) , Qt::SHIFT + Qt::Key_U) ;
00142
00143 edition -> addSeparator() ;
00144
00145 edition -> addAction(pe3 , "&Vider la pile" , FParent ,
00146 SLOT(callbackEmptyUndoRedo()) , Qt::ALT + Qt::Key_U);
00147
00148 edition -> addSeparator() ;
00149
00150 edition -> addAction(pe4 , "&Configurations" , FParent ,
00151 SLOT(callbackConfigUndoRedo()) , Qt::CTRL + Qt::Key_U);
00152
00153
00154
00155 options = new QMenu("&Options");
00156 options_act = addMenu(options);
00157
00158 options -> addAction(po1 , "&Aide succinte" , FParent ,
00159 SLOT(help()) , Qt::Key_F1) ;
00160
00161 options -> addSeparator() ;
00162
00163 options -> addAction("&Affichage / Placages" , FParent ,
00164 SLOT(affich()) , Qt::Key_F2) ;
00165
00166 options->addAction(*HTML::decode("&Vue éclatée"), FParent,
00167 SLOT(view()) , Qt::Key_F3) ;
00168
00169 options -> addSeparator() ;
00170
00171
00172
00173
00174 options -> addAction(*HTML::
00175 decode("Pondération des &déformations"),
00176 FParent, SLOT(pondDef()) , Qt::Key_F4) ;
00177 options -> addAction("&Extrusion/Epaississement" , FParent ,
00178 SLOT(extrusion()) , Qt::Key_F5) ;
00179 #ifdef MODULE_MESH
00180 options -> addAction("&Interpolations/Lissages" , FParent ,
00181 SLOT(interpol()) , Qt::Key_F6) ;
00182 #endif
00183
00184 options -> addAction(*HTML::decode("Déplacement caméra"),
00185 FParent ,
00186 SLOT(affichDivers()) , Qt::Key_F7) ;
00187
00188 options -> addSeparator() ;
00189
00190 options -> addAction(*HTML::decode("Co&uleurs") , FParent ,
00191 SLOT(couleurs()) , Qt::Key_F8) ;
00192
00193 options -> addSeparator() ;
00194
00195 options->addAction(*HTML::decode("Caractéristiques &topologiques"),
00196 FParent,
00197 SLOT(caracTopo()), *new QKeySequence("ALT+c")) ;
00198
00199
00200
00201 creations = new QMenu(*HTML::decode("C&réer"));
00202 creations_act = addMenu(creations);
00203
00204 creations -> addAction(pc1 , "&Brin/Polyligne/Face" , FParent ,
00205 SLOT(callbackPolyline()) ,
00206 *new QKeySequence("CTRL+x,CTRL+1")) ;
00207 creations -> addAction(pc2 , *HTML::decode("&Polygone régulier"),
00208 FParent ,
00209 SLOT(callbackPolygon()) ,
00210 *new QKeySequence("CTRL+x,CTRL+2")) ;
00211 creations -> addAction(pc3 , "&Maillage" , FParent ,
00212 SLOT(callbackMeshCreation()) ,
00213 *new QKeySequence("CTRL+x,CTRL+3")) ;
00214 creations -> addAction(pc4 , *HTML::decode("&Sphère") , FParent ,
00215 SLOT(callbackSphere()) ,
00216 *new QKeySequence("CTRL+x,CTRL+4")) ;
00217 creations -> addAction(pc5 , "&Cylindre" , FParent ,
00218 SLOT(callbackCylinder()) ,
00219 *new QKeySequence("CTRL+x,CTRL+5")) ;
00220 creations -> addAction(pc6 , *HTML::decode("P&yramide/Cône") ,
00221 FParent ,
00222 SLOT(callbackPyramide()),
00223 *new QKeySequence("CTRL+x,CTRL+6")) ;
00224 creations -> addAction(pc7 , "&Tore" , FParent ,
00225 SLOT(callbackTorus()) ,
00226 *new QKeySequence("CTRL+x,CTRL+7")) ;
00227
00228 creations -> addSeparator() ;
00229
00230 creations -> addAction("&Randomize darts" , FParent ,
00231 SLOT(callbackRandomizeDarts()));
00232
00233
00234
00235 operations = new QMenu(*HTML::decode("O&pérations"));
00236 operations_act = addMenu(operations);
00237
00238
00239 operations -> addAction(pop2 , "&Translation" , FParent ,
00240 SLOT(callbackTranslateWindow()) , Qt::Key_T) ;
00241 operations -> addAction(pop3 , "&Rotation" , FParent ,
00242 SLOT(callbackRotateWindow()) , Qt::Key_R) ;
00243 operations -> addAction(pop1 , *HTML::decode("&Homothétie") ,
00244 FParent ,
00245 SLOT(callbackScaleWindow()) , Qt::Key_H) ;
00246
00247 operations -> addSeparator() ;
00248
00249
00250 QMenu * coudre = operations -> addMenu("&Coudre") ;
00251
00252 QMenu * intuitif = coudre -> addMenu("&Intuitivement") ;
00253 intuitif -> addAction("&Topologiquement" , FParent ,
00254 SLOT(callbackIntuitiveTopoSew()) ,
00255 Qt::SHIFT + Qt::Key_C) ;
00256 intuitif -> addAction(*HTML::decode("&Géométriquement") ,
00257 FParent ,
00258 SLOT(callbackIntuitiveGeoSew()) , Qt::Key_C) ;
00259
00260 coudre -> addSeparator() ;
00261
00262 coudre -> addAction("&Sommets" , FParent , SLOT(callbackTopoSew0()));
00263
00264 QMenu * coudreAretes = coudre -> addMenu(*HTML::decode("&Arêtes"));
00265 coudreAretes -> addAction("&Topologiquement" , FParent ,
00266 SLOT(callbackTopoSew1())) ;
00267 coudreAretes->addAction(*HTML::decode("&Géométriquement"),
00268 FParent ,
00269 SLOT(callbackGeoSew1())) ;
00270
00271 QMenu * coudreFaces = coudre -> addMenu("&Faces") ;
00272 coudreFaces -> addAction("&Topologiquement" , FParent ,
00273 SLOT(callbackTopoSew2())) ;
00274 coudreFaces -> addAction(*HTML::decode("&Géométriquement"),
00275 FParent ,
00276 SLOT(callbackGeoSew2())) ;
00277
00278 QMenu * coudreVolumes = coudre -> addMenu("&Volumes") ;
00279 coudreVolumes -> addAction("&Topologiquement" , FParent ,
00280 SLOT(callbackTopoSew3())) ;
00281 coudreVolumes->addAction(*HTML::decode("&Géométriquement") ,
00282 FParent ,
00283 SLOT(callbackGeoSew3())) ;
00284
00285 coudre -> addSeparator() ;
00286
00287 QMenu * coudre1bord = coudre -> addMenu("1-&bord") ;
00288 coudre1bord -> addAction("&Topologiquement" , FParent ,
00289 SLOT(callbackTopoSew1borders())) ;
00290 coudre1bord->addAction(*HTML::decode("&Géométriquement") ,
00291 FParent ,
00292 SLOT(callbackGeoSew1borders())) ;
00293
00294 QMenu * coudre2bords = coudre -> addMenu("2-b&ords") ;
00295 coudre2bords -> addAction("&Topologiquement" , FParent ,
00296 SLOT(callbackTopoSew2borders()),
00297 Qt::SHIFT + Qt::Key_B) ;
00298 coudre2bords -> addAction(*HTML::decode("&Géométriquement"),
00299 FParent ,
00300 SLOT(callbackGeoSew2borders()) , Qt::Key_B) ;
00301
00302 coudre -> addSeparator() ;
00303
00304 QMenu * inverserCouture =
00305 coudre->addMenu(*HTML::decode("Inverser la dernière &couture"));
00306 inverserCouture -> addAction("&Orientation" , FParent ,
00307 SLOT(callbackInvertLastOperation()) ,
00308 Qt::Key_X) ;
00309 inverserCouture -> addAction("&Sens" , FParent ,
00310 SLOT(callbackInvertLastOperationGeometry()),
00311 Qt::SHIFT + Qt::Key_X) ;
00312
00313
00314 QMenu * decoudre = operations->addMenu(*HTML::decode("&Découdre"));
00315
00316 decoudre -> addAction("&Intuitivement" , FParent ,
00317 SLOT(callbackIntuitiveUnsew()) , Qt::Key_D) ;
00318
00319 decoudre -> addSeparator() ;
00320
00321 decoudre -> addAction("&Sommets" , FParent ,
00322 SLOT(callbackUnsew0())) ;
00323 decoudre -> addAction("&Aretes" , FParent ,
00324 SLOT(callbackUnsew1())) ;
00325 decoudre -> addAction("&Faces" , FParent ,
00326 SLOT(callbackUnsew2())) ;
00327 decoudre -> addAction("&Volumes" , FParent ,
00328 SLOT(callbackUnsew3())) ;
00329
00330
00331 QMenu * placage = operations -> addMenu("&Placage") ;
00332
00333 placage -> addAction("&Intuitif" , FParent ,
00334 SLOT(callbackIntuitivePlate()) , Qt::Key_P) ;
00335
00336 placage -> addSeparator() ;
00337
00338 placage -> addAction("&Sommets" , FParent , SLOT(callbackPlate0()));
00339 placage -> addAction("&Aretes" , FParent , SLOT(callbackPlate1()));
00340 placage -> addAction("&Faces" , FParent , SLOT(callbackPlate2()));
00341
00342 placage -> addSeparator() ;
00343
00344 placage -> addAction("1-bord" , FParent ,
00345 SLOT(callbackPlate1borders())) ;
00346 placage -> addAction("2-bords" , FParent ,
00347 SLOT(callbackPlate2borders())) ;
00348
00349 operations -> addSeparator() ;
00350
00351
00352 QMenu * fusionner = operations -> addMenu("&Fusionner ") ;
00353
00354 fusionner -> addAction("&Intuitivement" , FParent ,
00355 SLOT(callbackIntuitiveMerge()) , Qt::Key_F) ;
00356
00357 fusionner -> addSeparator() ;
00358
00359 fusionner -> addAction("&Aretes", FParent, SLOT(callbackMergeEdges()));
00360 fusionner -> addAction("&Faces", FParent, SLOT(callbackMergeFaces()));
00361 fusionner -> addAction("&Volumes", FParent, SLOT(callbackMergeVolumes()));
00362
00363 fusionner -> addSeparator() ;
00364
00365 fusionner -> addAction(*HTML::decode("Aretes alignées") , FParent ,
00366 SLOT(callbackMergeColinearEdges())) ;
00367 fusionner -> addAction("Faces coplanaires" , FParent ,
00368 SLOT(callbackMergeCoplanarFaces())) ;
00369
00370 fusionner -> addSeparator() ;
00371
00372 fusionner -> addAction(*HTML::decode("Faces sans déconnexion") ,
00373 FParent ,
00374 SLOT(callbackMergeFacesWithoutDisconnection()));
00375
00376 fusionner -> addAction(*HTML::decode("Volumes en gardant des boules") ,
00377 FParent ,
00378 SLOT(callbackRemoveMarkedFacesButKeepBalls()));
00379
00380
00381 fusionner->addAction(*HTML::decode("Décaler les arêtes"
00382 " incidentes au sommet"), FParent ,
00383 SLOT(callbackShiftAllEdgesIncidentToVertex()));
00384 fusionner->addAction(*HTML::decode("Supprimer les arêtes pendantes"),
00385 FParent, SLOT(callbackRemoveDanglingEdges()));
00386
00387
00388 QMenu * contracter = operations -> addMenu("&Contracter") ;
00389
00390 contracter -> addAction("&Intuitivement" , FParent ,
00391 SLOT(callbackIntuitiveContract()) ,
00392 Qt::SHIFT + Qt::Key_F);
00393
00394 contracter -> addSeparator() ;
00395
00396 contracter -> addAction("&Aretes" , FParent ,
00397 SLOT(callbackContractEdges())) ;
00398 contracter -> addAction("&Faces" , FParent ,
00399 SLOT(callbackContractFaces())) ;
00400 contracter -> addAction("&Volumes" , FParent ,
00401 SLOT(callbackContractVolumes())) ;
00402
00403 contracter -> addSeparator() ;
00404
00405
00406 contracter->addAction(*HTML::decode("Arêtes de &longueur nulle"),
00407 FParent , SLOT(callbackDelNullEdges())) ;
00408 contracter -> addAction("Faces &plates" , FParent ,
00409 SLOT(callbackDelFlatFaces())) ;
00410 contracter -> addAction("V&olumes plats" , FParent ,
00411 SLOT(callbackDelFlatVolumes())) ;
00412
00413
00414 QMenu * inserer = operations -> addMenu(*HTML::decode("&Insérer"));
00415
00416 inserer -> addAction("&Sommets" , FParent ,
00417 SLOT(callbackInsertVertex())) ;
00418 inserer -> addAction(*HTML::decode("&Arêtes") , FParent ,
00419 SLOT(callbackInsertEdge())) ;
00420 inserer -> addAction("&Faces" , FParent ,
00421 SLOT(callbackInsertFace())) ;
00422
00423
00424 QMenu * fermer = operations -> addMenu("&Fermer") ;
00425
00426 fermer -> addAction("&Intuitivement" , FParent ,
00427 SLOT(callbackIntuitiveStopUp())) ;
00428
00429 fermer -> addSeparator() ;
00430
00431 fermer -> addAction(*HTML::decode("&Arêtes") , FParent ,
00432 SLOT(callbackStopUp0())) ;
00433 fermer -> addAction("&Faces" , FParent , SLOT(callbackStopUp1())) ;
00434 fermer -> addAction("&Volumes" , FParent , SLOT(callbackStopUp2())) ;
00435 fermer -> addAction("&Composantes connexes" , FParent ,
00436 SLOT(callbackStopUp3())) ;
00437
00438
00439 QMenu * trianguler = operations -> addMenu("&Trianguler") ;
00440
00441 trianguler -> addAction(*HTML::decode("&Selon mode de sélection") ,
00442 FParent ,
00443 SLOT(callbackContextTriangulate()),
00444 Qt::ALT + Qt::Key_T);
00445
00446 trianguler -> addSeparator() ;
00447
00448 trianguler -> addAction(*HTML::decode("&Arêtes") , FParent ,
00449 SLOT(callbackTriangulateEdges())) ;
00450 trianguler -> addAction("&Faces" , FParent ,
00451 SLOT(callbackTriangulateFaces())) ;
00452 trianguler -> addAction("&Volumes" , FParent ,
00453 SLOT(callbackTriangulateVolumes())) ;
00454 trianguler -> addSeparator() ;
00455
00456 trianguler -> addAction(*HTML::decode("Trianguler faces"
00457 " &géométriquement") ,
00458 FParent ,
00459 SLOT(callbackTriangulateGeoFaces())) ;
00460
00461 trianguler -> addAction(*HTML::decode("&Tourner l'arête"
00462 " sélectionnée") ,
00463 FParent , SLOT(callbackSwapEdge())) ;
00464
00465
00466 QMenu * quadranguler = operations -> addMenu("&Quadranguler") ;
00467
00468 QMenu * faces = quadranguler -> addMenu("&Faces") ;
00469 faces -> addAction("&Avec insertion de Sommets" , FParent ,
00470 SLOT(callbackQuadrangulateFaces()), Qt::ALT+Qt::Key_Q);
00471 faces -> addAction("&Sans insertion de Sommets" , FParent ,
00472 SLOT(callbackBasicQuadrangulateFaces())) ;
00473
00474
00475 QMenu * calculerDual = operations -> addMenu("Calculer &dual") ;
00476 calculerDual -> addAction("2D" , FParent , SLOT(callbackDual2d())) ;
00477 calculerDual -> addAction("3D" , FParent , SLOT(callbackDual3d())) ;
00478
00479 operations -> addSeparator() ;
00480
00481
00482 QMenu * extruder = operations -> addMenu("&Extruder") ;
00483
00485 QMenu * normale = extruder -> addMenu("Selon &normale") ;
00486 normale -> addAction("&Intuitivement" , FParent ,
00487 SLOT(callbackIntuitiveExtrudeByNormal()), Qt::Key_N);
00488
00489 normale -> addSeparator() ;
00490
00491 normale -> addAction("&Sommets" , FParent ,
00492 SLOT(callbackExtrude0ByNormal())) ;
00493 normale -> addAction(*HTML::decode("&Arêtes") , FParent ,
00494 SLOT(callbackExtrude1ByNormal())) ;
00495 normale -> addAction("&Faces" , FParent ,
00496 SLOT(callbackExtrude2ByNormal())) ;
00497
00499 QMenu * chemin = extruder -> addMenu("Selon &chemin") ;
00500 chemin -> addAction(*HTML::decode("&Arêtes") , FParent ,
00501 SLOT(callbackExtrude1ByPath()) , Qt::SHIFT+Qt::Key_E);
00502 chemin -> addAction("&Faces" , FParent ,
00503 SLOT(callbackExtrude2ByPath()) , Qt::Key_E) ;
00504
00506 QMenu * axe = extruder -> addMenu("Selon &axe") ;
00507
00508 axe -> addAction(*HTML::decode("&Arêtes") , FParent ,
00509 SLOT(callbackExtrude1ByRevolution()) ,
00510 Qt::CTRL + Qt::SHIFT + Qt::Key_E) ;
00511 axe -> addAction("&Faces" , FParent ,
00512 SLOT(callbackExtrude2ByRevolution()) ,
00513 Qt::ALT + Qt::SHIFT + Qt::Key_E) ;
00514
00516 extruder -> addAction("Epaissir", FParent, SLOT(callbackThicken())) ;
00517
00518
00519 #ifdef MODULE_MESH
00520 QMenu * interpoler = operations -> addMenu("&Interpoler") ;
00521
00522 interpoler -> addAction(*HTML::decode("&Arêtes") , FParent ,
00523 SLOT(callbackMeshEdge())) ;
00524
00525
00526 QMenu * carres = interpoler -> addMenu(*HTML::decode("&Carrés"));
00527 carres -> addAction("0 -> 1" , FParent ,
00528 SLOT(callbackMeshSquare01())) ;
00529 carres -> addAction("0 -> 2" , FParent ,
00530 SLOT(callbackMeshSquare02())) ;
00531 carres -> addAction("1 -> 2" , FParent ,
00532 SLOT(callbackMeshSquare12())) ;
00533
00534 QMenu * cubes = interpoler -> addMenu("C&ubes") ;
00535 cubes -> addAction("0 -> 1" , FParent ,
00536 SLOT(callbackMeshCube01())) ;
00537 cubes -> addAction("0 -> 2" , FParent ,
00538 SLOT(callbackMeshCube02())) ;
00539 cubes -> addAction("0 -> 3" , FParent ,
00540 SLOT(callbackMeshCube03())) ;
00541 cubes -> addAction("1 -> 2" , FParent ,
00542 SLOT(callbackMeshCube12())) ;
00543 cubes -> addAction("1 -> 3" , FParent ,
00544 SLOT(callbackMeshCube13())) ;
00545 cubes -> addAction("2 -> 3" , FParent ,
00546 SLOT(callbackMeshCube23())) ;
00547
00548
00549 QMenu * lisser = operations -> addMenu("&Lisser") ;
00550
00551 lisser -> addAction(*HTML::decode("&Arêtes") , FParent ,
00552 SLOT(callbackSmooth1())) ;
00553 lisser -> addAction(*HTML::decode("&Carrés") , FParent ,
00554 SLOT(callbackSmooth2())) ;
00555 lisser -> addAction("C&ubes" , FParent ,
00556 SLOT(callbackSmooth3())) ;
00557 #endif // MODULE_MESH
00558
00559
00560 #ifdef MODULE_ROUNDING
00561 QMenu * arrondir = operations -> addMenu("&Arrondir") ;
00562
00563 arrondir -> addAction("&Sommets" , FParent ,
00564 SLOT(callbackRoundVertices())) ;
00565 arrondir -> addAction(*HTML::decode("Arêtes 2D") , FParent ,
00566 SLOT(callbackRoundEdges2d())) ;
00567 arrondir -> addAction(*HTML::decode("Arêtes 3D") , FParent ,
00568 SLOT(callbackRoundEdges3d())) ;
00569
00570 arrondir -> addSeparator() ;
00571
00572 arrondir -> addAction(*HTML::decode("Sommets &creusés") , FParent ,
00573 SLOT(callbackRoundVerticesDig()) , Qt::Key_A) ;
00574
00575 arrondir -> addAction(*HTML::decode("Arêtes 3D creusées") ,
00576 FParent ,
00577 SLOT(callbackRoundEdges3dDig()), Qt::SHIFT+Qt::Key_A);
00578
00579 arrondir -> addSeparator() ;
00580
00581 arrondir -> addAction(*HTML::decode("Arêtes 2D avec setback") ,
00582 FParent ,
00583 SLOT(callbackRoundEdges2dWithSetback())) ;
00584 arrondir -> addAction(*HTML::decode("Arêtes 3D avec setback") ,
00585 FParent ,
00586 SLOT(callbackRoundEdges3dWithSetback())) ;
00587 arrondir->addAction(*HTML::decode("Arêtes 3D creusées "
00588 "avec setback") , FParent ,
00589 SLOT(callbackRoundEdges3dDigWithSetback()) ,
00590 Qt::CTRL + Qt::SHIFT + Qt::Key_A) ;
00591
00592 arrondir -> addSeparator() ;
00593
00594 arrondir -> addAction("Coefficients variables" , FParent ,
00595 SLOT(chanf())) ;
00596 #endif // MODULE_ROUNDING
00597
00598
00599 #ifdef MODULE_TRIANGULATION
00600 QMenu * triangulation = operations -> addMenu("Trian&gulation") ;
00601
00602 triangulation -> addAction("Triangulation de &Delaunay" , FParent ,
00603 SLOT(callbackDelaunayTriangulation())) ;
00604
00605 triangulation -> addSeparator() ;
00606
00607
00608
00609 triangulation -> addAction("&Marquer faces non uniformes" , FParent ,
00610 SLOT(callbackMarkNonUniformFaces())) ;
00611 triangulation -> addAction(*HTML::decode("&Optimiser positions des"
00612 " arêtes") , FParent ,
00613 SLOT(callbackOptimizeSelectedEdges())) ;
00614 triangulation -> addAction(*HTML::decode("triangulation de D&elaunay"
00615 " optimisée") , FParent ,
00616 SLOT(callbackOptimizedDelaunayTriangulation()));
00617 #endif // MODULE_TRIANGULATION
00618
00619
00620 #ifdef MODULE_COREFINEMENT
00621 QMenu * coraffiner = operations -> addMenu("Co-ra&ffiner") ;
00622
00623 coraffiner -> addAction("&Maillages 2D - balayage" , FParent ,
00624 SLOT(callbackCorefine2dSegmentsSweeping()) ,
00625 Qt::Key_AsciiCircum) ;
00626 coraffiner -> addAction("Maillages 2D - &propogation" , FParent ,
00627 SLOT(callbackCorefine2dSegmentsPropagation()) ,
00628 Qt::Key_Backslash) ;
00629 coraffiner->
00630 addAction(*HTML::decode("&Opérations booléennes 2D"),
00631 FParent , SLOT(callbackBooleanOperations2d())) ;
00632
00633 coraffiner -> addSeparator() ;
00634
00635 coraffiner -> addAction("M&aillages 3D" , FParent ,
00636 SLOT(callbackCorefine3dFaces())) ;
00637 coraffiner -> addAction("Fa&ces 3D" , FParent ,
00638 SLOT(callbackCorefineMarked3dFaces())) ;
00639 coraffiner -> addAction(*HTML::decode("&Tous les maillages 3D"
00640 " sélectionnés") ,
00641 FParent ,
00642 SLOT(callbackCorefineMarked3dMeshesWith())) ;
00643 coraffiner->
00644 addAction(*HTML::decode("Opérations &booléennes 3D") ,
00645 FParent, SLOT(callbackBooleanOperations3d()), Qt::Key_At);
00646 #endif // MODULE_COREFINEMENT
00647
00648
00649 #ifdef MODULE_GEOLOGY
00650 geologie = new QMenu(*HTML::decode("&Géologie"));
00651 geologie_act = addMenu(geologie);
00652
00653 geologie -> addAction(*HTML::decode("&Créer une zone d'incertitude"),
00654 FParent ,
00655 SLOT(callbackUncertainZone())) ;
00656 geologie -> addAction(*HTML::decode("Créer les &intersections les"
00657 " plus proches") , FParent ,
00658 SLOT(callbackCreateNearestIntersections())) ;
00659 geologie -> addAction("&Etendre bords" , FParent ,
00660 SLOT(callbackExtendSelectedBorders())) ;
00661 geologie -> addAction(*HTML::decode("Etendre &bords jusqu'à une"
00662 " surface") , FParent ,
00663 SLOT(callbackExtendSelectedBordersToSurface())) ;
00664
00665 geologie -> addSeparator() ;
00666
00667 geologie -> addAction(*HTML::decode("&Lisser la sélection") ,
00668 FParent ,
00669 SLOT(callbackSmoothSelection())) ;
00670 geologie -> addAction(*HTML::decode("&Relacher la sélection") ,
00671 FParent ,
00672 SLOT(callbackRelaxSelection())) ;
00673 geologie -> addAction("&Simplifier maillage" , FParent ,
00674 SLOT(callbackSimplifyMesh())) ;
00675 geologie -> addAction("Rece&ntrer" , FParent ,
00676 SLOT(callbackCenterSelection())) ;
00677
00678 geologie->addAction(*HTML::decode("&Plaquer les sommets de la"
00679 " création courante sur les "
00680 "faces de la sélection suivante"),
00681 FParent , SLOT(callbackPlateVerticesOnFaces())) ;
00682 geologie -> addAction(*HTML::decode("Plaquer les sommets de la"
00683 " création courante sur les"
00684 " &arêtes de la"
00685 " sélection suivante"), FParent,
00686 SLOT(callbackPlateVerticesOnEdges())) ;
00687 geologie->addAction(*HTML::decode("Pla&quer les sommets de la"
00688 " création courante sur les somm"
00689 "ets de la sélection suivante"),
00690 FParent , SLOT(callbackPlateVerticesOnVertices())) ;
00691
00692 geologie -> addSeparator() ;
00693
00694 geologie -> addAction(*HTML::decode("Sélectionner to&us les"
00695 " macros-sommets") , FParent ,
00696 SLOT(callbackSelectMacroVertices())) ;
00697 geologie -> addAction(*HTML::decode("Sélectionner toutes les"
00698 " macros-arê&tes") , FParent ,
00699 SLOT(callbackSelectAllMacroEdges())) ;
00700 geologie -> addAction(*HTML::decode("Sélectionner les macros-ar"
00701 "êtes dési&gnées"),
00702 FParent , SLOT(callbackSelectMacroEdges())) ;
00703 geologie->addAction(*HTML::decode("Sélectionner les "
00704 "macr&os-faces désignées"),
00705 FParent , SLOT(callbackSelectMacroFaces())) ;
00706 geologie -> addAction(*HTML::decode("Sélectionner les bor&ds entre "
00707 "les brins sélectionnés"),
00708 FParent,
00709 SLOT(callbackSelectBordersBetweenSelectedDarts())) ;
00710
00711 geologie -> addSeparator() ;
00712 geologie -> addAction("Simplifier le maillage" , FParent ,
00713 SLOT(callbackMeshSimplification())) ;
00714 geologie -> addAction("Raffiner les trous" , FParent ,
00715 SLOT(callbackHolesRefinement())) ;
00716 geologie -> addAction("Trianguler les trous" , FParent ,
00717 SLOT(callbackTriangulateHoles())) ;
00718 geologie -> addAction("Boucher les trous" , FParent ,
00719 SLOT(callbackFillHolesOnMeshes())) ;
00720
00721 geologie -> addSeparator() ;
00722 geologie -> addAction(*HTML::decode("Déterminer les failles") ,
00723 FParent , SLOT(callbackFailleDetection())) ;
00724 geologie -> addAction("Extraire les failles" , FParent ,
00725 SLOT(callbackExtractDetectedFailles())) ;
00726 geologie -> addAction("Extension des failles" , FParent ,
00727 SLOT(callbackExtensionFailleSurface())) ;
00728
00729 geologie -> addSeparator() ;
00730 geologie -> addAction("I&mporter surface GR2D" , FParent ,
00731 SLOT(callbackImportGr2d())) ;
00732 geologie -> addAction("Importer surface &XYZ" , FParent ,
00733 SLOT(callbackImportXyz())) ;
00734 geologie -> addAction("Importer sur&face TS" , FParent ,
00735 SLOT(callbackImportTs())) ;
00736 geologie -> addAction("Importer nuage de poin&ts" , FParent ,
00737 SLOT(callbackImportCloud())) ;
00738 geologie -> addAction("Importer surface VRML" , FParent ,
00739 SLOT(callbackImportVrml())) ;
00740 geologie -> addAction("Exporter surface TS" , FParent ,
00741 SLOT(callbackExportTs())) ;
00742 #endif // MODULE_GEOLOGY
00743
00744
00745
00746 materialiser = new QMenu(*HTML::decode("&Matérialiser"));
00747 materialiser_act = addMenu(materialiser);
00748
00749 materialiser -> addAction("&Barycentre" , FParent ,
00750 SLOT(callbackMaterializeBarycenter())) ;
00751 materialiser -> addAction("&Axe" , FParent ,
00752 SLOT(callbackMaterializeAxe())) ;
00753 materialiser -> addAction("&Plan" , FParent ,
00754 SLOT(callbackMaterializePlane())) ;
00755 materialiser -> addAction("&Vecteur normal" , FParent ,
00756 SLOT(callbackMaterializeNormalVector())) ;
00757 materialiser -> addAction("Plan &normal" , FParent ,
00758 SLOT(callbackMaterializeOrthoPlane())) ;
00759
00760 materialiser -> addSeparator() ;
00761
00762 materialiser -> addAction(*HTML::decode("&Repère") , FParent ,
00763 SLOT(callbackMaterializeReferential())) ;
00764
00765
00766
00767 selection = new QMenu(*HTML::decode("&Sélection"));
00768 selection_act = addMenu(selection);
00769
00770 selection -> addAction(*HTML::decode("Réinitialiser") , FParent ,
00771 SLOT(callbackReinitSelection()) ,
00772 Qt::Key_Escape) ;
00773 selection -> addAction("Inverser" , FParent ,
00774 SLOT(callbackNegateSelection()) ,
00775 Qt::Key_Minus) ;
00776 selection -> addAction("Echanger" , FParent ,
00777 SLOT(callbackSwapSelections()) ,
00778 Qt::Key_Asterisk) ;
00779
00780 selection -> addSeparator() ;
00781
00782 selection -> addAction("Dupliquer" , FParent ,
00783 SLOT(callbackDuplicateSelection()) ,
00784 Qt::Key_Enter) ;
00785
00786 selection -> addAction("Supprimer" , FParent ,
00787 SLOT(callbackDeleteSelection()) ,
00788 Qt::Key_Delete) ;
00789
00790 #ifdef MODULE_ARCHITECTURE
00791 supprimer1_act = selection -> addAction("Supprimer" , FParent ,
00792 SLOT(callbackDeleteSelection()) ,
00793 Qt::Key_Delete) ;
00794
00795 supprimer2_act = selection -> addAction("Supprimer" , FParent ,
00796 SLOT(callbackDeleteSelection())) ;
00797
00798 supprimer2_act -> setVisible(false);
00799 #endif // MODULE_ARCHITECTURE
00800
00801 selection -> addSeparator() ;
00802
00803 QMenu * etendre = selection -> addMenu("Etendre ") ;
00804 QMenu * etendre1pas = etendre -> addMenu("d'1 pas ") ;
00805
00806 etendre1pas -> addAction("En avant" , FParent ,
00807 SLOT(callbackGoForward1()) ,
00808 Qt::Key_I) ;
00809 etendre1pas -> addAction(*HTML::decode("En arrière") , FParent ,
00810 SLOT(callbackGoBackward1()) ,
00811 Qt::Key_K) ;
00812 etendre1pas -> addAction("A gauche" , FParent ,
00813 SLOT(callbackGoLeft1()) ,
00814 Qt::Key_J) ;
00815 etendre1pas -> addAction("A droite" , FParent ,
00816 SLOT(callbackGoRight1()) ,
00817 Qt::Key_L) ;
00818
00819 QMenu * etendreRepet =
00820 etendre->addMenu(*HTML::decode("Répétitivement"));
00821
00822 etendreRepet -> addAction("En avant" , FParent ,
00823 SLOT(callbackGoForward1Rep()) ,
00824 Qt::CTRL + Qt::Key_I) ;
00825 etendreRepet -> addAction(*HTML::decode("En arrière") , FParent ,
00826 SLOT(callbackGoBackward1Rep()) ,
00827 Qt::CTRL + Qt::Key_K) ;
00828 etendreRepet -> addAction("A gauche" , FParent ,
00829 SLOT(callbackGoLeft1Rep()) ,
00830 Qt::CTRL + Qt::Key_J) ;
00831 etendreRepet -> addAction("A droite" , FParent ,
00832 SLOT(callbackGoRight1Rep()) ,
00833 Qt::CTRL + Qt::Key_L) ;
00834
00835 QMenu * reduire = selection->addMenu(*HTML::decode("Réduire"));
00836 QMenu * reduire1pas = reduire -> addMenu("d'un pas") ;
00837
00838 reduire1pas -> addAction("En avant" , FParent ,
00839 SLOT(callbackGoForward0()) ,
00840 Qt::SHIFT + Qt::Key_I) ;
00841 reduire1pas -> addAction(*HTML::decode("En arrière") , FParent ,
00842 SLOT(callbackGoBackward0()) ,
00843 Qt::SHIFT + Qt::Key_K) ;
00844 reduire1pas -> addAction("A gauche" , FParent ,
00845 SLOT(callbackGoLeft0()) ,
00846 Qt::SHIFT + Qt::Key_J) ;
00847 reduire1pas -> addAction("A droite" , FParent ,
00848 SLOT(callbackGoRight0()) ,
00849 Qt::SHIFT + Qt::Key_L) ;
00850
00851 QMenu * reduireRepet =
00852 reduire->addMenu(*HTML::decode("Répétitivement")) ;
00853
00854 reduireRepet -> addAction("En avant" , FParent ,
00855 SLOT(callbackGoForward0Rep()) ,
00856 Qt::CTRL + Qt::SHIFT + Qt::Key_I) ;
00857 reduireRepet -> addAction(*HTML::decode("En arrière") , FParent ,
00858 SLOT(callbackGoBackward0Rep()) ,
00859 Qt::CTRL + Qt::SHIFT + Qt::Key_K) ;
00860 reduireRepet -> addAction("A gauche" , FParent ,
00861 SLOT(callbackGoLeft0Rep()) ,
00862 Qt::CTRL + Qt::SHIFT + Qt::Key_J) ;
00863 reduireRepet -> addAction("A droite" , FParent ,
00864 SLOT(callbackGoRight0Rep()) ,
00865 Qt::CTRL + Qt::SHIFT + Qt::Key_L) ;
00866
00867 selection -> addSeparator() ;
00868
00869 QMenu * marquerInterieur =
00870 selection->addMenu(*HTML::decode("Marquer intérieur"));
00871
00872 marquerInterieur -> addAction("2D" , FParent ,
00873 SLOT(callbackMarkInterior2())) ;
00874 marquerInterieur -> addAction("3D" , FParent ,
00875 SLOT(callbackMarkInterior3())) ;
00876
00877 selection -> addSeparator() ;
00878
00879 QMenu * selectBords = selection->
00880 addMenu(*HTML::decode("Sélectionner bords")) ;
00881
00882 selectBords -> addAction("Intuitivement" , FParent ,
00883 SLOT(callbackIntuitiveSelectBorders()) ,
00884 Qt::ALT + Qt::Key_B) ;
00885
00886 selectBords -> addSeparator() ;
00887
00888 selectBords -> addAction("0-bord" , FParent ,
00889 SLOT(callbackSelect0borders())) ;
00890 selectBords -> addAction("1-bord" , FParent ,
00891 SLOT(callbackSelect1borders())) ;
00892 selectBords -> addAction("2-bords" , FParent ,
00893 SLOT(callbackSelect2borders())) ;
00894 selectBords -> addAction("3-bords" , FParent ,
00895 SLOT(callbackSelect3borders())) ;
00896
00897 selection->addAction(*HTML::decode("Sélectionner faces non planes"),
00898 FParent ,
00899 SLOT(callbackSelectNonPlanarFaces()));
00900
00901 selection -> addSeparator();
00902
00903 selection -> addAction("Des cellules incidentes" , FParent ,
00904 SLOT(callbackSelectIncidents()) ,
00905 Qt::Key_S) ;
00906
00907 QMenu * avancer = selection -> addMenu("Avancer") ;
00908
00909 avancer -> addAction("Par Alpha0" , FParent ,
00910 SLOT(callbackGoAlpha0()), Qt::ALT + Qt::Key_0) ;
00911 avancer -> addAction("Par Alpha1" , FParent ,
00912 SLOT(callbackGoAlpha1()), Qt::ALT + Qt::Key_1) ;
00913 avancer -> addAction("Par Alpha2" , FParent ,
00914 SLOT(callbackGoAlpha2()), Qt::ALT + Qt::Key_2) ;
00915 avancer -> addAction("Par Alpha3" , FParent ,
00916 SLOT(callbackGoAlpha3()), Qt::ALT + Qt::Key_3) ;
00917
00918
00919
00920 vues = new QMenu("&Vues");
00921 vues_act = addMenu(vues);
00922
00923 QMenu * arranger = vues -> addMenu("&Organiser en") ;
00924 arranger -> addAction("&Cascade" , FParent ,
00925 SLOT(cascade())) ;
00926 arranger -> addAction("&Mosaique" , FParent ,
00927 SLOT(tile()) , Qt::Key_M) ;
00928
00929 vues -> addAction(pv2 , "&Supprimer" , FParent ,
00930 SLOT(deleteView()) , Qt::Key_Backspace) ;
00931
00932 QMenu * basculer = vues -> addMenu("&Basculer vers") ;
00933 basculer -> addAction("&Une vue 3D" , FParent ,
00934 SLOT(basculeView3D()) , Qt::Key_0);
00935 basculer -> addAction("Une vue &XY" , FParent ,
00936 SLOT(basculeViewXY()) , Qt::Key_1);
00937 basculer -> addAction("Une vue &YZ" , FParent ,
00938 SLOT(basculeViewYZ()) , Qt::Key_2);
00939 basculer -> addAction("Une vue &ZX" , FParent ,
00940 SLOT(basculeViewZX()) , Qt::Key_3);
00941 basculer -> addSeparator() ;
00942 basculer -> addAction("Une multi-vues" , FParent ,
00943 SLOT(basculeViewMulti()) , Qt::Key_4);
00944
00945 vues -> addSeparator() ;
00946
00947 QMenu * ajouter = vues -> addMenu("&Ajouter") ;
00948 ajouter -> addAction(pv1 , "&Vue 3D" , FParent ,
00949 SLOT(addView3D()) , Qt::CTRL + Qt::Key_0);
00950 ajouter -> addAction("Vue &XY" , FParent ,
00951 SLOT(addViewXY()) , Qt::CTRL + Qt::Key_1) ;
00952 ajouter -> addAction("Vue &YZ" , FParent ,
00953 SLOT(addViewYZ()) , Qt::CTRL + Qt::Key_2) ;
00954 ajouter -> addAction("Vue &ZX" , FParent ,
00955 SLOT(addViewZX()) , Qt::CTRL + Qt::Key_3) ;
00956 ajouter -> addSeparator() ;
00957 ajouter -> addAction("Multi vues" , FParent ,
00958 SLOT(addViewMulti()) , Qt::CTRL + Qt::Key_4) ;
00959
00960 vues -> addSeparator() ;
00961
00962 QMenu * grouper = vues -> addMenu("&Grouper") ;
00963 grouper -> addAction(pv3 , "&Toutes les vues avec la vue courante" ,
00964 FParent , SLOT(OperationGroupAllGeneral()) ,
00965 Qt::Key_G) ;
00966
00967 grouper -> addSeparator() ;
00968
00969 grouper -> addAction(*HTML::decode("&Les précompiles de toutes"
00970 " les vues"), FParent ,
00971 SLOT(OperationGroupAllPrecomp())) ;
00972
00973 grouper -> addAction("La position de l'&oeil de toutes les vues" ,
00974 FParent , SLOT(OperationGroupAllEyePos())) ;
00975
00976 grouper -> addAction(*HTML::decode("Le point ®ardé de toutes"
00977 " les vues") ,
00978 FParent , SLOT(OperationGroupAllAimedPos())) ;
00979
00980 grouper -> addAction(*HTML::decode("Les paramètres d'&affichages"
00981 " de toutes les vues") ,
00982 FParent , SLOT(OperationGroupAllDrawing())) ;
00983
00984 grouper -> addSeparator() ;
00985
00986 grouper->addAction(*HTML::decode("La vue courante et la dernière"
00987 " vue double-cliquée"),
00988 FParent , SLOT(OperationGroupGeneral()) ,
00989 Qt::ALT + Qt::Key_G) ;
00990
00991 grouper -> addSeparator() ;
00992
00993 grouper->addAction(*HTML::decode("&Les précompiles de ces 2 vues"),
00994 FParent, SLOT(OperationGroupPrecomp()));
00995
00996 grouper -> addAction("La &position de l'oeil de ces 2 vues" ,
00997 FParent , SLOT(OperationGroupEyePos()));
00998
00999 grouper->addAction(*HTML::decode("Le point ®ardé de ces 2 vues"),
01000 FParent, SLOT(OperationGroupAimedPos()));
01001
01002 grouper->addAction(*HTML::decode("Les paramètres d'&affichages "
01003 "de ces 2 vues") ,
01004 FParent , SLOT(OperationGroupDrawing()));
01005
01006 QMenu * degrouper = vues->addMenu(*HTML::decode("&Dégrouper"));
01007
01008 degrouper -> addAction(pv4 , "&Toutes les vues" , FParent ,
01009 SLOT(OperationUngroupAllGeneral()) ,
01010 Qt::SHIFT + Qt::Key_G) ;
01011
01012 degrouper -> addSeparator() ;
01013
01014 degrouper->addAction(*HTML::decode("&Les précompiles de toutes les"
01015 " vues"), FParent ,
01016 SLOT(OperationUngroupAllPrecompiles()));
01017
01018 degrouper -> addAction("La &position de l'oeil de toutes les vues" ,
01019 FParent , SLOT(OperationUngroupAllEyePos()));
01020
01021 degrouper -> addAction(*HTML::decode("Le point ®ardé de "
01022 "toutes les vues"), FParent ,
01023 SLOT(OperationUngroupAllAimedPos()));
01024
01025 degrouper->addAction(*HTML::decode("Les paramètres d'&affichages de"
01026 " toutes les vues"), FParent ,
01027 SLOT(OperationUngroupAllDrawing()));
01028
01029 degrouper -> addSeparator() ;
01030
01031 degrouper -> addAction("La vue &courante des autres vues" ,
01032 FParent , SLOT(OperationUngroupGeneral()) ,
01033 *new QKeySequence("SHIFT+ALT+Key_G")) ;
01034
01035 degrouper -> addSeparator() ;
01036
01037 degrouper->addAction(*HTML::decode("Les précompiles de &cette vue") ,
01038 FParent, SLOT(OperationUngroupPrecompiles()));
01039
01040 degrouper -> addAction("La position de l'oeil de cette &vue" ,
01041 FParent , SLOT(OperationUngroupEyePos()));
01042
01043 degrouper->addAction(*HTML::decode("Le point regar&dé de cette vue") ,
01044 FParent, SLOT(OperationUngroupAimedPos()));
01045
01046 degrouper->addAction(*HTML::decode("Les paramètres d'affichage "
01047 "de cette v&ue"), FParent ,
01048 SLOT(OperationUngroupDrawing()));
01049
01050 QMenu * pointDeMire = vues->addMenu("&Point de mire") ;
01051
01052 pointDeMire -> addAction("&Origine" , FParent ,
01053 SLOT(mireOrigine()) , Qt::Key_O) ;
01054 pointDeMire->addAction(*HTML::decode("&Sommet incident à \"last\""),
01055 FParent, SLOT(mireSommet()), Qt::Key_Exclam);
01056
01057 pointDeMire -> addSeparator();
01058
01059 #ifdef MODULE_ARCHITECTURE
01060 pointDeMire -> addAction(*HTML::decode("Brin sélectionné"
01061 " précédent"),
01062 FParent, SLOT(callbackFocusPreviousSelection()));
01063
01064 pointDeMire->
01065 addAction(*HTML::decode("Brin sélectionné suivant") ,
01066 FParent , SLOT(callbackFocusNextSelection()));
01067
01068 pointDeMire -> addSeparator();
01069 #endif // MODULE_ARCHITECTURE
01070
01071 QMenu* centre = pointDeMire ->
01072 addMenu(*HTML::decode("&Centre boîte englobante de"));
01073
01074 centre -> addAction(*HTML::decode("&Face incidente à \"last\""),
01075 FParent ,
01076 SLOT(mireFace())) ;
01077 centre -> addAction(*HTML::decode("&Volume incident à \"last\"") ,
01078 FParent ,
01079 SLOT(mireVolume())) ;
01080 centre->addAction(*HTML::decode("&Composante connexe incidente à "
01081 "\"last\"") , FParent ,
01082 SLOT(mireCompConnexe())) ;
01083 centre -> addSeparator() ;
01084 centre -> addAction(*HTML::decode("Tous les brins marqués") ,
01085 FParent ,
01086 SLOT(mireBrinsMarques()) , Qt::SHIFT + Qt::Key_O) ;
01087 centre -> addAction("Tous les brins" , FParent ,
01088 SLOT(mireBrins()) , Qt::CTRL + Qt::SHIFT + Qt::Key_O) ;
01089
01090
01091 #ifdef MODULE_SPAMOD
01092 QMenu * visualisation = vues -> addMenu("&Visualisation ") ;
01093
01094 visualisation -> addAction(*HTML::decode("&Vue Eclatée") , FParent,
01095 SLOT(callbackBackToBurstView())) ;
01096 visualisation -> addSeparator() ;
01097 visualisation -> addAction("Vue &Topologique" , FParent ,
01098 SLOT(callbackTopologicalView())) ;
01099 visualisation -> addAction("Vue &Euclidienne" , FParent ,
01100 SLOT(callbackEuclidianView())) ;
01101 visualisation -> addAction("Vue &Analytique" , FParent ,
01102 SLOT(callbackAnalyticView())) ;
01103 visualisation -> addAction("Vue &Voxels" , FParent ,
01104 SLOT(callbackVoxelView())) ;
01105 visualisation -> addAction("Vue &K2" , FParent ,
01106 SLOT(callbackK2View())) ;
01107 visualisation -> addSeparator() ;
01108 visualisation -> addAction("&Jongler entre les vues" , FParent ,
01109 SLOT(callbackSpamodSwitchToNextView())) ;
01110 #endif // MODULE_SPAMOD
01111
01112
01113
01114
01115 #ifdef MODULE_ARCHITECTURE
01116 architecture = new QMenu("&Architecture");
01117 architecture_act = addMenu(architecture);
01118
01119 architecture -> addAction("Import d'un objet Nff 3D", FParent,
01120 SLOT(callbackImportNff3D()));
01121
01122 QMenu * orientation = architecture -> addMenu("Orientation ") ;
01123
01124 orientation -> addAction("Affichage", FParent,
01125 SLOT(callbackAfficheOrientation()));
01126 orientation -> addAction("Test", FParent,
01127 SLOT(callbackTestOrientation()));
01128 orientation-> addSeparator() ;
01129 orientation -> addAction(*HTML::decode("Définir / brin"), FParent,
01130 SLOT(callbackDefineOrientation()));
01131 orientation -> addAction("Inverser", FParent,
01132 SLOT(callbackReverseOrientation()));
01133 orientation -> addAction("Inverser sur CC", FParent,
01134 SLOT(callbackReverseOrientationCC()));
01135 architecture -> addSeparator() ;
01136
01137
01138 architecture->
01139 addAction(*HTML::decode("Test de cohérence architecture"),
01140 FParent, SLOT(callbackFonctionTest()));
01141 architecture -> addSeparator() ;
01142
01143 architecture-> addAction("Ajout de la topologie", FParent,
01144 SLOT(callbackArchiTopo()));
01145 architecture -> addSeparator() ;
01146
01147
01148 QMenu * areteFictive = architecture ->
01149 addMenu(*HTML::decode("Arête Fictive ")) ;
01150
01151 areteFictive -> addAction(*HTML::decode("Création"), FParent,
01152 SLOT(callbackAreteFictive()));
01153 areteFictive -> addAction(*HTML::decode("Détection"), FParent,
01154 SLOT(callbackDetecteFictive()));
01155 areteFictive -> addAction("Affectation", FParent,
01156 SLOT(callbackAffectFictive()));
01157 areteFictive -> addAction(*HTML::decode("Sélection"), FParent,
01158 SLOT(callbackSelectionFictive()));
01159
01160 architecture -> addSeparator() ;
01161
01162
01163 QMenu * ameublement = architecture -> addMenu("Ameublement ") ;
01164 ameublement -> addAction("Save", FParent,
01165 SLOT(callbackSaveAmeublement()));
01166 ameublement -> addAction("Load", FParent,
01167 SLOT(callbackLoadAmeublement()));
01168 ameublement-> addSeparator() ;
01169 ameublement -> addAction("Plan 2D", FParent,
01170 SLOT(callbackAmeublement2D()));
01171 ameublement -> addAction("Selection 2D", FParent,
01172 SLOT(callbackAmeublementSel2D()));
01173 ameublement -> addAction("Plan 2D convexe", FParent,
01174 SLOT(callbackAmeublementConvexe2D()));
01175 ameublement-> addSeparator() ;
01176 ameublement -> addAction("Plan 3D", FParent,
01177 SLOT(callbackAmeublement3D()));
01178 ameublement -> addAction("Selection 3D", FParent,
01179 SLOT(callbackAmeublementSel3D()));
01180 ameublement -> addAction("Plan 3D convexe", FParent,
01181 SLOT(callbackAmeublementConvexe3D()));
01182
01183
01184 QMenu * convexification = architecture -> addMenu("Convexification ") ;
01185
01186 convexification -> addAction("Face E1", FParent,
01187 SLOT(callbackConvexificationE1()));
01188 convexification -> addAction("Face E2", FParent,
01189 SLOT(callbackConvexificationE2()));
01190 convexification -> addAction("Face E3", FParent,
01191 SLOT(callbackConvexificationE3()));
01192 convexification-> addSeparator() ;
01193 convexification -> addAction("Murs", FParent,
01194 SLOT(callbackConvexificationMur()));
01195 convexification -> addAction(*str_piece, FParent,
01196 SLOT(callbackConvexificationPiece()));
01197
01198
01199 QMenu * triangulationArchi = architecture -> addMenu("Triangulation ") ;
01200
01201 triangulationArchi -> addAction("Face", FParent,
01202 SLOT(callbackTriangulation()));
01203 triangulationArchi -> addAction("Face rapide", FParent,
01204 SLOT(callbackTriangulationRapide()));
01205 triangulationArchi -> addAction("Delaunay", FParent,
01206 SLOT(callbackDelaunayTriangulation()));
01207 triangulationArchi -> addAction("Murs", FParent,
01208 SLOT(callbackTriangulationMur()));
01209 triangulationArchi -> addAction(*str_piece, FParent,
01210 SLOT(callbackTriangulationPiece()));
01211 architecture -> addSeparator() ;
01212
01213
01214 QMenu * operationArchi =
01215 architecture -> addMenu(*HTML::decode("Opération"));
01216
01217 operationArchi -> addAction("Couture", FParent,
01218 SLOT(callbackOperationCouture()));
01219
01220
01221 QMenu * operationSuppr = operationArchi -> addMenu("Suppression") ;
01222
01223 operationSuppr->addAction(*HTML::decode("Suppression controlée"),
01224 FParent,
01225 SLOT(callbackOperationSuppression()));
01226 operationSuppr ->
01227 addAction(*HTML::decode("Suppression arête (no control)"),
01228 FParent, SLOT(callbackOperationSuppressionSel2D()));
01229 operationSuppr -> addAction("Suppression face (no control)", FParent,
01230 SLOT(callbackOperationSuppressionSel3D()));
01231 operationSuppr -> addSeparator() ;
01232
01233 QMenu * operationSuppr2D = operationSuppr -> addMenu("Suppression 2D") ;
01234
01235 operationSuppr2D -> addAction("Suppression decoupe", FParent,
01236 SLOT(callbackOperationSuppressionCut2D()));
01237 operationSuppr2D->addAction("Suppression doublons", FParent,
01238 SLOT(callbackOperationSuppressionDoublons2D()));
01239 operationSuppr2D -> addAction("Suppression Transparent", FParent,
01240 SLOT(callbackOperationSuppressionTransp2D()));
01241
01242 QMenu * operationSuppr3D = operationSuppr -> addMenu("Suppression 3D") ;
01243
01244 operationSuppr3D -> addAction("Suppression decoupe", FParent,
01245 SLOT(callbackOperationSuppressionCut3D()));
01246 operationSuppr3D->addAction("Suppression doublons", FParent,
01247 SLOT(callbackOperationSuppressionDoublons3D()));
01248 operationSuppr3D -> addAction("Suppression Transparent", FParent,
01249 SLOT(callbackOperationSuppressionTransp3D()));
01250
01251
01252 QMenu * operationPorte = operationArchi -> addMenu("Porte") ;
01253
01254 operationPorte -> addAction(*HTML::decode("Création"), FParent,
01255 SLOT(callbackOperationPorte()));
01256 operationPorte -> addAction("Epaissir", FParent,
01257 SLOT(callbackEpaissirPorte()));
01258 operationPorte -> addAction("Insertion", FParent,
01259 SLOT(callbackInsertPorte2D()));
01260 operationPorte -> addSeparator() ;
01261 operationPorte -> addAction("Insertion en 3D", FParent,
01262 SLOT(callbackInsertPorte3D()));
01263
01264
01265 QMenu* operationFenetre = operationArchi->
01266 addMenu(*HTML::decode("Fenêtre")) ;
01267 operationFenetre -> addAction(*HTML::decode("Creacute;ation"), FParent,
01268 SLOT(callbackOperationFenetre()));
01269 operationFenetre -> addAction("Epaissir", FParent,
01270 SLOT(callbackEpaissirFenetre()));
01271 operationFenetre -> addAction("Insertion", FParent,
01272 SLOT(callbackInsertFenetre2D()));
01273 operationFenetre -> addSeparator() ;
01274 operationFenetre -> addAction("Insertion 3D", FParent,
01275 SLOT(callbackInsertFenetre3D()));
01276
01277 QMenu * operationMur = operationArchi -> addMenu("Mur") ;
01278
01279 operationMur -> addAction(*HTML::decode("Création d'une ligne mur"),
01280 FParent, SLOT(callbackOperationMur()));
01281 operationMur->addAction(*HTML::decode("Création d'un mur epais 2D"),
01282 FParent, SLOT(callbackCreateMurEpais2D()));
01283 operationMur -> addAction("Epaissir un mur 2D", FParent,
01284 SLOT(callbackEpaissirMur()));
01285 operationMur -> addSeparator() ;
01286 operationMur->addAction(*HTML::decode("Création d'un mur epais 3D"),
01287 FParent,SLOT(callbackCreateMurEpais3D()));
01288
01289 operationArchi -> addSeparator() ;
01290
01291 operationArchi ->
01292 addAction(*HTML::decode("Donnée des brins selectionnés"),
01293 FParent, SLOT(callbackOperationAffichage()));
01294
01295
01296
01297 QMenu * operationSimplificationArchi = architecture ->
01298 addMenu("Simplification") ;
01299
01300 operationSimplificationArchi -> addAction("Suppression doublons", FParent,
01301 SLOT(callbackSuppressionDoublons()));
01302
01303 operationSimplificationArchi -> addSeparator() ;
01304 operationSimplificationArchi -> addAction("Suppression sommets deg 2",
01305 FParent,
01306 SLOT(callbackSuppressionSommetDeg2()));
01307 operationSimplificationArchi -> addAction("Suppression Aretes deg 2",
01308 FParent,
01309 SLOT(callbackSuppressionAreteDeg2()));
01310 operationSimplificationArchi -> addAction("Suppression Faces deg 2",
01311 FParent,
01312 SLOT(callbackSuppressionFaceDeg2()));
01313 operationSimplificationArchi -> addSeparator() ;
01314 operationSimplificationArchi -> addAction("Simplification Totale",
01315 FParent,
01316 SLOT(callbackSimplification()));
01317
01318
01319 architecture -> addSeparator() ;
01320
01321 QMenu * operationEditionArchi = architecture -> addMenu("Edition ") ;
01322
01323 operationEditionArchi -> addAction("Suppr Mur 2D", FParent,
01324 SLOT(callbackSuppressionFaceMur2D()));
01325
01326 operationEditionArchi ->
01327 addAction("Suppr ouverture -> Mur 2D", FParent,
01328 SLOT(callbackSuppressionFaceOuvertureMur2D()));
01329 operationEditionArchi ->
01330 addAction("Suppr ouverture -> piece 2D", FParent,
01331 SLOT(callbackSuppressionFaceOuverturePiece2D()));
01332
01333 operationEditionArchi -> addSeparator() ;
01334 operationEditionArchi -> addAction("Suppr Mur 3D", FParent,
01335 SLOT(callbackSuppressionVolumeMur3D()));
01336
01337 operationEditionArchi -> addSeparator() ;
01338 operationEditionArchi -> addAction("Translation 2D coef 0.5", FParent,
01339 SLOT(callbackTranslation2D_1()));
01340 operationEditionArchi -> addAction("Translation 2D coef 1", FParent,
01341 SLOT(callbackTranslation2D_2()));
01342 operationEditionArchi -> addSeparator() ;
01343 operationEditionArchi -> addAction("Translation 3D coef 0.5", FParent,
01344 SLOT(callbackTranslation3D_1()));
01345 operationEditionArchi -> addAction("Translation 3D coef 1", FParent,
01346 SLOT(callbackTranslation3D_2()));
01347 operationEditionArchi -> addSeparator() ;
01348 operationEditionArchi -> addAction("Toit droit", FParent,
01349 SLOT(callbackConstructionToit()));
01350 operationEditionArchi -> addAction("Toit Biseau", FParent,
01351 SLOT(callbackConstructionToitBiso()));
01352 operationEditionArchi -> addAction("Toit Arrondi", FParent,
01353 SLOT(callbackConstructionToitArrondi()));
01354 operationEditionArchi -> addSeparator() ;
01355 operationEditionArchi -> addAction("Biseauter toit", FParent,
01356 SLOT(callbackBisoToit()));
01357 operationEditionArchi -> addAction("Arrondir toit", FParent,
01358 SLOT(callbackArrondirToit()));
01359
01360 operationEditionArchi -> addSeparator() ;
01361 operationEditionArchi -> addAction("Arrondi 3D", FParent,
01362 SLOT(callbackArrondi3D()));
01363
01364 QMenu * extrusionArchi = architecture -> addMenu("Extrusion") ;
01365
01366 extrusionArchi -> addAction("Extrusion des Murs", FParent,
01367 SLOT(callbackExtrudeMur()));
01368 extrusionArchi -> addAction("Extrusion des Portes", FParent,
01369 SLOT(callbackExtrudePorte()));
01370 extrusionArchi -> addAction(*HTML::decode("Extrusion des Fenêtre"),
01371 FParent, SLOT(callbackExtrudeFenetre()));
01372
01373 QMenu * extrusionEscalier = architecture->addMenu("Extrusion escalier");
01374
01375 extrusionEscalier -> addAction("Extrusion escalier Droit", FParent,
01376 SLOT(callbackExtrudeEscalierDroit()));
01377 extrusionEscalier ->
01378 addAction(*HTML::decode("Extrusion escalier collimaçon"),
01379 FParent, SLOT(callbackExtrudeEscalierCollimacon()));
01380
01381 extrusionArchi -> addAction("Extrusion du sol", FParent,
01382 SLOT(callbackExtrudeSol()));
01383 extrusionArchi -> addAction("Extrusion du plafond", FParent,
01384 SLOT(callbackExtrudePlafond()));
01385 extrusionArchi -> addSeparator() ;
01386 extrusionArchi->addAction(*HTML::decode("Extrusion de la sélection"),
01387 FParent, SLOT(callbackExtrudeSelect()));
01388 extrusionArchi -> addAction("Extrusion totale", FParent,
01389 SLOT(callbackExtrudeAll()));
01390
01391 architecture -> addSeparator() ;
01392
01393
01394 QMenu * semantique = architecture ->
01395 addMenu(*HTML::decode("Sémantique ")) ;
01396
01397 semantique -> addAction(*HTML::decode("Affiche sémantique"),
01398 FParent, SLOT(callbackAfficheSemantique()));
01399 semantique -> addAction(*HTML::decode("Brin sans sémantique"),
01400 FParent, SLOT(callbackAfficheSansSem()));
01401
01402 semantique -> addSeparator() ;
01403
01404 QMenu * selectionSemantique =
01405 semantique -> addMenu(*HTML::decode("Sélection des objets"));
01406
01407 selectionSemantique -> addAction("Murs", FParent,
01408 SLOT(callbackSelectionMur()));
01409 selectionSemantique -> addAction(*str_piece, FParent,
01410 SLOT(callbackSelectionPiece()));
01411 selectionSemantique -> addAction("Portes", FParent,
01412 SLOT(callbackSelectionPorte()));
01413 selectionSemantique -> addAction(*str_fenetre, FParent,
01414 SLOT(callbackSelectionFenetre()));
01415 selectionSemantique -> addAction("Sol", FParent,
01416 SLOT(callbackSelectionSol()));
01417 selectionSemantique -> addAction("Plafond", FParent,
01418 SLOT(callbackSelectionPlafond()));
01419 selectionSemantique -> addAction("Escalier", FParent,
01420 SLOT(callbackSelectionEscalier()));
01421 selectionSemantique -> addAction("Contour d'escaliers", FParent,
01422 SLOT(callbackSelectionContourEscalier()));
01423 selectionSemantique -> addAction("Facade", FParent,
01424 SLOT(callbackSelectionContour()));
01425
01426 QMenu * affectSemantique = semantique ->
01427 addMenu("Affectation des objets ") ;
01428
01429 affectSemantique -> addAction("Murs", FParent,
01430 SLOT(callbackAffectMur()));
01431 affectSemantique -> addAction(*str_piece, FParent,
01432 SLOT(callbackAffectPiece()));
01433 affectSemantique -> addAction("Portes", FParent,
01434 SLOT(callbackAffectPorte()));
01435 affectSemantique -> addAction(*str_fenetre, FParent,
01436 SLOT(callbackAffectFenetre()));
01437 affectSemantique -> addAction("Escalier", FParent,
01438 SLOT(callbackAffectEscalier()));
01439 affectSemantique -> addAction("Contour d'escaliers", FParent,
01440 SLOT(callbackAffectContourEscalier()));
01441 affectSemantique -> addAction("Facade", FParent,
01442 SLOT(callbackAffectContour()));
01443
01444 semantique -> addSeparator() ;
01445
01446
01447
01448 QMenu * findSem = semantique ->
01449 addMenu("Recherche sur un type d'objets ") ;
01450
01451 findSem -> addAction("Murs", FParent,
01452 SLOT(callbackFindMur()));
01453 findSem -> addAction(*str_piece, FParent,
01454 SLOT(callbackFindPiece()));
01455 findSem -> addAction("Portes", FParent,
01456 SLOT(callbackFindPorte()));
01457 findSem -> addAction(*str_fenetre, FParent,
01458 SLOT(callbackFindFenetre()));
01459 findSem -> addAction("Escalier", FParent,
01460 SLOT(callbackFindEscalier()));
01461 findSem -> addAction("Facade", FParent,
01462 SLOT(callbackFindFacade()));
01463
01464 QMenu * deduceSem = semantique ->addMenu(*HTML::decode("Deduction de "
01465 "semantique à partir de"));
01466
01467 deduceSem -> addAction(*HTML::decode("Porte / Fenêtre / facade"),
01468 FParent,
01469 SLOT(callbackFindSemPorteFenetre()));
01470 semantique->addSeparator();
01471 semantique->addAction(*HTML::decode("Effacer toute la sémantique"),
01472 FParent,
01473 SLOT(callbackEraseSem()));
01474 semantique->addAction(*HTML::decode("Effacer la sémantique de la"
01475 " sélection"), FParent,
01476 SLOT(callbackEraseSemSel()));
01477
01478
01479 QMenu * heuristique = architecture -> addMenu("Heuristique") ;
01480
01481 heuristique -> addAction("Calcul de surface", FParent,
01482 SLOT(callbackCalculSurface()));
01483 heuristique -> addAction(*HTML::decode("Calcul de perimètre"),
01484 FParent, SLOT(callbackCalculPerimetre()));
01485 heuristique -> addSeparator() ;
01486 heuristique ->
01487 addAction(*HTML::decode("Calcul de surface des pièces"),
01488 FParent, SLOT(callbackCalculSurfacePiece()));
01489 heuristique ->
01490 addAction(*HTML::decode("Calcul de perimètre des pièce"),
01491 FParent, SLOT(callbackCalculPerimetrePiece()));
01492 heuristique -> addSeparator() ;
01493 heuristique -> addAction("Calcul de surface des murs", FParent,
01494 SLOT(callbackCalculSurfaceMur()));
01495 heuristique->addAction(*HTML::decode("Calcul de perimètre des murs"),
01496 FParent, SLOT(callbackCalculPerimetreMur()));
01497 heuristique -> addSeparator() ;
01498 heuristique -> addAction("Calcul de rapport S/P mur", FParent,
01499 SLOT(callbackCalculRapportMur()));
01500 heuristique->addAction(*HTML::decode("Calcul de rapport S/P pièce"),
01501 FParent, SLOT(callbackCalculRapportPiece()));
01502 architecture -> addSeparator() ;
01503
01504
01505 QMenu * renduArchi = architecture -> addMenu("Rendu") ;
01506
01507 renduArchi -> addAction(*HTML::decode("Position caméra"), FParent,
01508 SLOT(callbackPositionCamera()));
01509 renduArchi -> addAction("rayTracing V1 (lilian)", FParent,
01510 SLOT(callbackCheminOrigine()));
01511
01512 renduArchi -> addAction("rayTracing V2 (DI)", FParent,
01513 SLOT(callbackRayTracingDI()));
01514
01515 renduArchi -> addSeparator() ;
01516 renduArchi -> addAction("Build structA(DI)", FParent,
01517 SLOT(callbackBuildStructADI()));
01518 renduArchi -> addSeparator() ;
01519 renduArchi -> addAction("Save Ameublement XML", FParent,
01520 SLOT(callbackSaveAmeublementRendu()));
01521
01522 renduArchi->addAction(*HTML::decode("Exporter à l'écran"),
01523 FParent, SLOT(callbackExportRenduSortie()));
01524
01525 architecture -> addSeparator() ;
01526
01527
01528 QMenu * selectionArchi = architecture ->
01529 addMenu(*HTML::decode("Sélection")) ;
01530
01531 selectionArchi -> addAction("Alpha 1 libre", FParent,
01532 SLOT(callbackSelectionAlpha1()));
01533 selectionArchi -> addAction("Alpha 2 libre", FParent,
01534 SLOT(callbackSelectionAlpha2()));
01535 selectionArchi -> addAction("Alpha 3 libre", FParent,
01536 SLOT(callbackSelectionAlpha3()));
01537
01538 selectionArchi -> addSeparator() ;
01539
01540 selectionArchi->addAction(*HTML::decode("Arêtes pendantes"), FParent,
01541 SLOT(callbackSelectionPendante()));
01542 selectionArchi->
01543 addAction(*HTML::decode("Arêtes non-orientées"), FParent,
01544 SLOT(callbackSelectionOrientation()));
01545 selectionArchi -> addSeparator() ;
01546 selectionArchi -> addAction("Sem face mauvaise", FParent,
01547 SLOT(callbackSelectionFaceSemFaux()));
01548 selectionArchi -> addAction("Sem volume mauvaise", FParent,
01549 SLOT(callbackSelectionVolumeSemFaux()));
01550 selectionArchi ->
01551 addAction(*HTML::decode("Incohérence voisinage"), FParent,
01552 SLOT(callbackSelectionIncoherenceVoisinage()));
01553
01554 selectionArchi -> addSeparator() ;
01555
01556 selectionArchi -> addAction(*HTML::decode("Arêtes confondues"),
01557 FParent, SLOT(callbackSelectionConfondu()));
01558 selectionArchi -> addAction("Intersection", FParent,
01559 SLOT(callbackSelectionIntersection()));
01560 selectionArchi -> addSeparator() ;
01561 selectionArchi -> addAction("Faces non-convexes", FParent,
01562 SLOT(callbackSelectionNonConvexe()));
01563 selectionArchi -> addAction("Faces convexes ?", FParent,
01564 SLOT(callbackIsConvexe()));
01565 selectionArchi -> addSeparator() ;
01566
01567 QMenu* selectionTransp =
01568 selectionArchi->addMenu(*HTML::decode("Eléments transparents"));
01569
01570 selectionTransp -> addAction(*HTML::decode("Sélection transparent"),
01571 FParent,
01572 SLOT(callbackSelectionTransparent()));
01573 selectionTransp -> addAction(*HTML::decode("Détection transparent"),
01574 FParent,
01575 SLOT(callbackIsTransparent()));
01576 selectionTransp ->
01577 addAction(*HTML::decode("Affectation transparent sélection"),
01578 FParent, SLOT(callbackAffectTranspSel()));
01579 selectionTransp -> addAction("Affectation transparent 2D",
01580 FParent,
01581 SLOT(callbackAffectTransp2D()));
01582 selectionTransp -> addAction("Affectation transparent 3D",
01583 FParent,
01584 SLOT(callbackAffectTransp3D()));
01585
01586 selectionArchi -> addSeparator() ;
01587
01588
01589 QMenu * selectionVolume =
01590 selectionArchi->addMenu(*HTML::decode("Sélection de volume"));
01591
01592 selectionVolume -> addAction("Mur", FParent,
01593 SLOT(callbackSelectionMur()));
01594 selectionVolume -> addAction(*HTML::decode("Pièce"), FParent,
01595 SLOT(callbackSelectionPiece()));
01596 selectionVolume -> addAction("Porte", FParent,
01597 SLOT(callbackSelectionPorte()));
01598 selectionVolume -> addAction(*HTML::decode("Fenêtre"), FParent,
01599 SLOT(callbackSelectionFenetre()));
01600 selectionVolume -> addAction("Sol", FParent,
01601 SLOT(callbackSelectionSol()));
01602 selectionVolume -> addAction("Plafond", FParent,
01603 SLOT(callbackSelectionPlafond()));
01604 selectionVolume -> addAction("Escalier", FParent,
01605 SLOT(callbackSelectionEscalier()));
01606 selectionVolume -> addAction("Contour escalier", FParent,
01607 SLOT(callbackSelectionContourEscalier()));
01608 selectionVolume -> addAction("Facade", FParent,
01609 SLOT(callbackSelectionContour()));
01610
01611 QMenu * selectionFace = selectionArchi ->
01612 addMenu(*HTML::decode("Sélection de face"));
01613
01614 selectionFace -> addAction("Ouverture", FParent,
01615 SLOT(callbackSelectionOuverture()));
01616 selectionFace -> addAction("Brique", FParent,
01617 SLOT(callbackSelectionBrique()));
01618 selectionFace -> addAction("Moquette", FParent,
01619 SLOT(callbackSelectionMoquette()));
01620 selectionFace -> addAction("Plaque plafond", FParent,
01621 SLOT(callbackSelectionPlaque()));
01622 selectionFace -> addAction("Tapisserie", FParent,
01623 SLOT(callbackSelectionTapisserie()));
01624 selectionFace -> addAction("Facade", FParent,
01625 SLOT(callbackSelectionFacade()));
01626 selectionFace -> addAction("Marche", FParent,
01627 SLOT(callbackSelectionMarche()));
01628 selectionFace -> addAction("Int marche", FParent,
01629 SLOT(callbackSelectionIntMarche()));
01630 selectionFace -> addSeparator() ;
01631 selectionFace -> addAction("Doublons", FParent,
01632 SLOT(callbackSelectionDoublons3D()));
01633
01634 QMenu * selectionArete = selectionArchi->
01635 addMenu(*HTML::decode("Sélection des arêtes")) ;
01636
01637 selectionArete -> addAction("Ouverture", FParent,
01638 SLOT(callbackSelectionOuverture2D()));
01639 selectionArete -> addAction("Brique", FParent,
01640 SLOT(callbackSelectionBrique2D()));
01641 selectionArete -> addAction("Tapisserie", FParent,
01642 SLOT(callbackSelectionTapisserie2D()));
01643 selectionArete -> addAction("Facade", FParent,
01644 SLOT(callbackSelectionFacade2D()));
01645 selectionArete -> addAction("Marche", FParent,
01646 SLOT(callbackSelectionMarche2D()));
01647 selectionArete -> addAction("Int marche", FParent,
01648 SLOT(callbackSelectionIntMarche2D()));
01649 selectionArete -> addSeparator() ;
01650 selectionArete -> addAction("Doublons", FParent,
01651 SLOT(callbackSelectionDoublons2D()));
01652
01653 selectionArchi -> addSeparator() ;
01654
01655 QMenu* selectionErreur =
01656 selectionArchi->addMenu(*HTML::decode("Détection des erreurs"));
01657
01658 selectionErreur->addAction(*HTML::decode("Sélection des autres..."),
01659 FParent, SLOT(callbackSelectionAutre()));
01660 selectionErreur -> addAction("Voisinage 2D", FParent,
01661 SLOT(callbackDetectErrorSem2D()));
01662 selectionErreur -> addAction("Voisinage 3D", FParent,
01663 SLOT(callbackDetectErrorSem3D()));
01664 selectionArchi -> addSeparator() ;
01665 selectionArchi -> addAction(*HTML::decode("Arêtes fictives"), FParent,
01666 SLOT(callbackSelectionFictive()));
01667 selectionArchi->
01668 addAction(*HTML::decode("Arêtes découpés"), FParent,
01669 SLOT(callbackSelectionCut()));
01670 selectionArchi -> addSeparator() ;
01671 selectionArchi -> addAction(*HTML::decode("De-sélection"), FParent,
01672 SLOT(callbackDeSelectionBrin()));
01673 #endif
01674 }
01675
01676
01677
01678
01679 MenuBar :: ~MenuBar() { }
01680
01681 #ifdef MODULE_ARCHITECTURE
01682
01683
01684 void MenuBar::switchModeArchi(bool active)
01685 {
01686 creations_act -> setVisible(!active);
01687 geologie_act -> setVisible(!active);
01688 materialiser_act -> setVisible(!active);
01689 architecture_act -> setVisible(active);
01690 ajout_etage_act -> setVisible(active);
01691 ajout_plan2D_act -> setVisible(active);
01692 exporter_act -> setVisible(!active);
01693
01694 supprimer1_act -> setVisible(!active);
01695 supprimer2_act -> setVisible(active);
01696
01697 disconnect(charger_act, 0, 0, 0);
01698 disconnect(sauver_act, 0, 0, 0);
01699
01700 if (active)
01701 {
01702 connect(charger_act, SIGNAL(triggered()), FParent,
01703 SLOT(callbackLoadArchi()));
01704 connect(sauver_act, SIGNAL(triggered()), FParent,
01705 SLOT(callbackSaveArchi()));
01706 }
01707 else
01708 {
01709 connect(charger_act, SIGNAL(triggered()), FParent, SLOT(callbackLoad()));
01710 connect(sauver_act, SIGNAL(triggered()), FParent, SLOT(callbackSave()));
01711 }
01712 }
01713
01714 #endif