MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mailleur.cpp
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
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 
23 
24 #include "gestionversion.h"
25 #include "mailleur.h"
26 #include "ot_cpu.h"
27 
28 
29 
30 
31 
32 MAILLEUR::MAILLEUR(bool save,OT_CPU* comp):MAGIC_AFFICHE(),compteur(comp),savedbg(save),pas(32),priorite_metrique(0.65)
33 {
34 ini_param();
35 
36 }
37 
38 MAILLEUR::MAILLEUR(MAILLEUR &mdd):MAGIC_AFFICHE(mdd),compteur(mdd.compteur),savedbg(mdd.savedbg),pas(mdd.pas)
39 {
40 ini_param();
41 }
42 
43 
45 {
46 }
47 
48 
50 {
51 }
52 
54 {
56 }
57 
58 
59 
60 void MAILLEUR::ajouter_etape_cpu(std::string nom)
61 {
62  if (compteur!=NULL) compteur->ajouter_etape(nom);
63 }
64 
65 
67 {
68  strcpy(nomfichierdbg,nom);
69 }
70 
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 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 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 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 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 param.ajouter("Quadratisation_nbpassemax",4.,OT_PARAMETRES::DOUBLE,"Nombre de passe maximale pour obtenir un jmin positif");
83 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 char fichier[500];
86 sprintf(fichier,"%s/.magic",getenv("HOME"));
87 param.lire(fichier);
88 param.enregistrer(fichier);
89 
90 }
91 
93 {
94 pas=val;
95 }
gestionversion.h
OT_CPU
Definition: ot_cpu.h:31
MAILLEUR::refresh
void refresh(void)
Definition: mailleur.cpp:49
OT_PARAMETRES::STRING
@ STRING
Definition: ot_parametres.h:38
OT_PARAMETRES::ajouter
void ajouter(std::string chaine, double valeur, int typep, std::string aide="")
Definition: ot_parametres.cpp:61
ot_cpu.h
OT_CPU::ajouter_etape
double ajouter_etape(std::string nom)
Definition: ot_cpu.cpp:58
MAILLEUR::pas
int pas
Definition: mailleur.h:56
mailleur.h
MAILLEUR::change_nom_fichierdbg
virtual void change_nom_fichierdbg(char *nom)
Definition: mailleur.cpp:66
OT_PARAMETRES::DOUBLE
@ DOUBLE
Definition: ot_parametres.h:38
MAGIC_AFFICHE
Definition: magic_affiche.h:30
MAILLEUR::~MAILLEUR
virtual ~MAILLEUR()
Definition: mailleur.cpp:44
MAILLEUR::change_pas_integration
void change_pas_integration(int val)
Definition: mailleur.cpp:92
OT_PARAMETRES::enregistrer
void enregistrer(char *nom)
Definition: ot_parametres.cpp:132
MAILLEUR::ini_param
void ini_param(void)
Definition: mailleur.cpp:71
MAILLEUR::MAILLEUR
MAILLEUR(bool save, class OT_CPU *comp=NULL)
Definition: mailleur.cpp:32
MAILLEUR
Definition: mailleur.h:33
OT_PARAMETRES::lire
int lire(char *nom)
Definition: ot_parametres.cpp:144
MAILLEUR::nomfichierdbg
char nomfichierdbg[500]
Definition: mailleur.h:54
MAILLEUR::priorite_metrique
double priorite_metrique
Definition: mailleur.h:55
MAILLEUR::ajouter_etape_cpu
void ajouter_etape_cpu(std::string nom)
Definition: mailleur.cpp:60
MAILLEUR::change_priorite_metrique
virtual void change_priorite_metrique(double val)
Definition: mailleur.cpp:53
MAILLEUR::compteur
OT_CPU * compteur
Definition: mailleur.h:52
MAILLEUR::param
OT_PARAMETRES param
Definition: mailleur.h:57