ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mailleur/src/mailleur.cpp
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (10 months, 4 weeks ago) by francois
File size: 3756 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
2     //####//------------------------------------------------------------
3     //####// MAGiC
4     //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5     //####// Departement de Genie Mecanique - UQTR
6     //####//------------------------------------------------------------
7     //####// MAGIC est un projet de recherche de l equipe ERICCA
8     //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9     //####// http://www.uqtr.ca/ericca
10     //####// http://www.uqtr.ca/
11     //####//------------------------------------------------------------
12     //####//------------------------------------------------------------
13     //####//
14     //####// mailleur.cpp
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:55 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283
23    
24     #include "gestionversion.h"
25     #include "mailleur.h"
26     #include "ot_cpu.h"
27    
28    
29    
30    
31    
32 francois 1117 MAILLEUR::MAILLEUR(bool save,OT_CPU* comp):MAGIC_AFFICHE(),compteur(comp),savedbg(save),pas(32),priorite_metrique(0.65)
33 francois 283 {
34 francois 632 ini_param();
35    
36 francois 283 }
37    
38 francois 1117 MAILLEUR::MAILLEUR(MAILLEUR &mdd):MAGIC_AFFICHE(mdd),compteur(mdd.compteur),savedbg(mdd.savedbg),pas(mdd.pas)
39 francois 425 {
40 francois 632 ini_param();
41 francois 425 }
42 francois 283
43 francois 425
44 francois 283 MAILLEUR::~MAILLEUR()
45     {
46     }
47    
48    
49     void MAILLEUR::refresh(void)
50     {
51     }
52    
53 francois 558 void MAILLEUR::change_priorite_metrique(double val)
54     {
55     priorite_metrique=val;
56     }
57 francois 283
58 francois 558
59    
60 francois 283 void MAILLEUR::ajouter_etape_cpu(std::string nom)
61     {
62     if (compteur!=NULL) compteur->ajouter_etape(nom);
63     }
64 francois 494
65    
66     void MAILLEUR::change_nom_fichierdbg(char *nom)
67     {
68     strcpy(nomfichierdbg,nom);
69 francois 532 }
70    
71 francois 632 void MAILLEUR::ini_param(void)
72     {
73     param.ajouter("Convergence_mailleur3d_frontal",200,OT_PARAMETRES::DOUBLE,"Nombre de front restant à partir duquel la destruction est obligatoire");
74     param.ajouter("Echantillon_face",20,OT_PARAMETRES::DOUBLE,"Nombre d'échantillon pour le calcul de la boite englobante des faces");
75 francois 1095 param.ajouter("Epsilon_face",1,OT_PARAMETRES::DOUBLE,"Distance entre la triangulation et la face pour les algos qui echantillonnent les faces (en mm)");
76     param.ajouter("Angle_dev_face",0.5,OT_PARAMETRES::DOUBLE,"Angle entre deux elements de la triangulation pour les algos qui echantillonnent les faces");
77 francois 645 param.ajouter("Verification_coin_face_mailleur2D",0,OT_PARAMETRES::DOUBLE,"0. Ne fais pas la vérification 1. Fait la vérification qu'un sommet de face partage au moins deux triangles");
78 francois 696 param.ajouter("Optimisation_2D","1",OT_PARAMETRES::STRING,"Nombre de bits = nombre de passe d'optimisation. Pour chaque bit 1=bouge de noeud 2=inverse diagonale 3=bouge de noeud inserse diagonale simultane 4=inverse diagonale bouge de noeud simulatane");
79 francois 883 param.ajouter("Quadratisation_jmin",1.,OT_PARAMETRES::DOUBLE,"Garantir des tetras quadratiques avec jaconien minimum positif : 1=oui 2=non");
80     param.ajouter("Quadratisation_pas",100.,OT_PARAMETRES::DOUBLE,"Nombre de pas pour recaler les noeuds et obtenir un jmin positif");
81     param.ajouter("Quadratisation_dis",0.1,OT_PARAMETRES::DOUBLE,"Valeur de la distortion du jacobien minimale à atteindre");
82 francois 915 param.ajouter("Quadratisation_nbpassemax",4.,OT_PARAMETRES::DOUBLE,"Nombre de passe maximale pour obtenir un jmin positif");
83 couturad 919 param.ajouter("Nb_iteration_max_mailleur2d",1e6,OT_PARAMETRES::DOUBLE,"Nombre d'iteration maximale pour le mailleur 2D");
84     param.ajouter("Nb_front_max_mailleur3d",1e7,OT_PARAMETRES::DOUBLE,"Nombre de front maximale pour le mailleur 3D");
85 francois 632 char fichier[500];
86     sprintf(fichier,"%s/.magic",getenv("HOME"));
87     param.lire(fichier);
88     param.enregistrer(fichier);
89    
90     }
91 francois 532
92     void MAILLEUR::change_pas_integration(int val)
93     {
94     pas=val;
95 francois 1095 }