ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/comparaison/src/vct_comparaison.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 1 week ago) by francois
Content type: text/plain
File size: 3044 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     //####// vct_comparaison.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:56 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283
23     #ifndef vct_comparisonH
24     #define vct_comparisonH
25 francois 1158
26 francois 283 #include <vector>
27     #include "ot_tenseur.h"
28     #include "vct.h"
29     #include "mg_gestionnaire.h"
30     #include "ot_tenseur.h"
31     #include <ostream>
32     #include "tpl_liste_entite.h"
33     #include "vct_comparaison_resultat.h"
34     #include"ot_mathematique.h"
35    
36     using namespace std;
37    
38 francois 1158 class VCT_COMPARAISON
39 francois 283 {
40     public:
41     VCT_COMPARAISON(MG_GESTIONNAIRE *gst1,MG_GEOMETRIE *mgeo1,MG_GESTIONNAIRE *gst2,MG_GEOMETRIE *mgeo2);
42     ~VCT_COMPARAISON();
43    
44    
45    
46     void compare(class VCT_COMPARAISON_RESULTAT &cmp,MG_VOLUME* vol1=NULL,MG_VOLUME* vol2=NULL,class OT_CPU *cpu=NULL);
47     void trouve_similarite(void);
48     void trouve_identite(void);
49     void trouve_localise(VCT_COMPARAISON_RESULTAT &cmp);
50     void identifie_topologie_sous_jacente(VCT_COMPARAISON_RESULTAT &cmp,MG_FACE* face1,MG_FACE* face2,int& sommetparfait,int& areteparfait);
51     void identifie_correspondance(VCT_COMPARAISON_RESULTAT &cmp);
52     void trouve_modification_partielle(VCT_COMPARAISON_RESULTAT &cmp);
53     void recale_repere_reference(MG_FACE* faceref1,MG_FACE* faceref2,std::vector<OT_TENSEUR> &list);
54     OT_TENSEUR calcul_transformation(OT_VECTEUR_3DD &bary1,OT_VECTEUR_3DD &bary2,OT_TENSEUR &tns1,OT_TENSEUR &tns2);
55    
56 francois 366
57 francois 283 int localise_courbe(MG_COURBE *crb1,MG_COURBE *crb2);
58     int localise_surface(MG_SURFACE *surf1,MG_SURFACE *surf2);
59     void change_point_inverse(double *xyz);
60     void change_point(double *xyz);
61 francois 351
62 francois 283
63     void active_affichage(void (*fonc)(char*));
64 francois 366
65 francois 283 private:
66     MG_GESTIONNAIRE *gest1;
67     MG_GESTIONNAIRE *gest2;
68     MG_GEOMETRIE*mggeo1;
69     MG_GEOMETRIE*mggeo2;
70     double eps;
71     TPL_LISTE_ENTITE<int> similarite;
72     TPL_LISTE_ENTITE<int> identite;
73     TPL_LISTE_ENTITE<int> localise;
74     OT_TENSEUR transformation;
75     OT_TENSEUR transformation_inverse;
76     int affichageactif;
77     void (*affiche)(char *mess);
78 francois 366 int sommetparfait;
79     int areteparfait;
80     int sommetpartiel;
81     int aretepartiel;
82     int facepartiel;
83    
84    
85 francois 283 };
86    
87    
88     #endif