MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
fct_taille_face.h
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 //####// fct_taille_face.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:52 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _FCTTAILLEFACE_
23 #define _FCTTAILLEFACE_
24 
25 
26 
27 #include <map>
28 
29 
30 #include "fct_taille_metrique.h"
31 #include "tpl_quadtree.h"
32 #include "mg_face.h"
33 #include "ot_decalage_parametre.h"
34 
36 typedef std::multimap<double,MG_SEGMENT*,std::less<double> > FRONTIERE_INFLUENTE;
37 
39 {
40 
41 public :
42  FCT_TAILLE_FACE(double eps,double dist,MG_FACE* mgface,LISTE_FRONTIERE *segment_frontiere);
44 
45  virtual int valide_parametre(double *param);
46  virtual void evaluer(double *param,double *resultat);
47  virtual void deriver(double *param,double *resultat,int num_param=0) ;
48  virtual void evaluer_decompose(double *metrique_depart,double *metrique_decompose);
49  virtual double get_valeur_maximale(int num);
50 
51 private :
52  double evaluer_facteur_distance_maximale(double *param);
53  double calcule_distance(double u1,double v1,double u2,double v2,double du=0,double dv=0);
55  double epsilon;
59 };
60 
61 
62 
63 
64 
65 
66 #endif
FCT_TAILLE_FACE(double eps, double dist, MG_FACE *mgface, LISTE_FRONTIERE *segment_frontiere)
virtual double get_valeur_maximale(int num)
virtual void deriver(double *param, double *resultat, int num_param=0)
double calcule_distance(double u1, double v1, double u2, double v2, double du=0, double dv=0)
LISTE_FRONTIERE * frontiere
virtual void evaluer_decompose(double *metrique_depart, double *metrique_decompose)
virtual int valide_parametre(double *param)
double evaluer_facteur_distance_maximale(double *param)
OT_DECALAGE_PARAMETRE * decalage
virtual void evaluer(double *param, double *resultat)
double distance_maximale
TPL_QUADTREE< MG_SEGMENT *, MG_NOEUD * > LISTE_FRONTIERE
std::multimap< double, MG_SEGMENT *, std::less< double > > FRONTIERE_INFLUENTE