ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/comparaison/src/vct_comparaison.h
Revision: 258
Committed: Thu Aug 12 19:10:34 2010 UTC (14 years, 9 months ago) by francois
Content type: text/plain
Original Path: magic/lib/vectorisation/src/vct_comparaison.h
File size: 5457 byte(s)
Log Message:
Mise a jour toxfem + parametrisation compilation toxfem + bug 
comparaison

File Contents

# User Rev Content
1 souaissa 66 //---------------------------------------------------------------------------
2    
3     #ifndef vct_comparisonH
4     #define vct_comparisonH
5     //---------------------------------------------------------------------------
6     #ifdef WINDOWS_VERSION
7     #ifdef BUILT_DLL_VECTORISATION
8     #define DLLPORTVECTORISATION __declspec(dllexport)
9     #else
10     #define DLLPORTVECTORISATION __declspec(dllimport)
11     #endif
12     #else
13     #define DLLPORTVECTORISATION
14     #endif
15     //----------------------------------------------------------------------------
16 francois 169 #include <vector>
17 francois 253 #include "ot_tenseur.h"
18 souaissa 87 #include "vct.h"
19 francois 102 #include "mg_gestionnaire.h"
20 souaissa 66 #include "ot_tenseur.h"
21 francois 169 #include <ostream>
22 souaissa 87 #include "tpl_liste_entite.h"
23 souaissa 142 #include "vct_comparaison_resultat.h"
24 souaissa 153 #include"ot_mathematique.h"
25 souaissa 66 //----------------------------------------------------------------------------
26    
27 souaissa 87 using namespace std;
28    
29 souaissa 66 class DLLPORTVECTORISATION VCT_COMPARAISON
30     {
31     public:
32 francois 102 VCT_COMPARAISON(MG_GESTIONNAIRE *gst1,MG_GEOMETRIE *mgeo1,MG_GESTIONNAIRE *gst2,MG_GEOMETRIE *mgeo2);
33 souaissa 66 ~VCT_COMPARAISON();
34 francois 253
35    
36    
37     void compare(class VCT_COMPARAISON_RESULTAT &cmp,MG_VOLUME* vol1=NULL,MG_VOLUME* vol2=NULL);
38     void trouve_similarite(void);
39     void trouve_identite(void);
40     void trouve_localise(VCT_COMPARAISON_RESULTAT &cmp);
41 francois 258 void identifie_topologie_sous_jacente(VCT_COMPARAISON_RESULTAT &cmp,MG_FACE* face1,MG_FACE* face2);
42     void identifie_correspondance(VCT_COMPARAISON_RESULTAT &cmp);
43     void trouve_modification_partielle(VCT_COMPARAISON_RESULTAT &cmp);
44 francois 253 void recale_repere_reference(MG_FACE* faceref1,MG_FACE* faceref2,std::vector<OT_TENSEUR> &list);
45     OT_TENSEUR calcul_transformation(OT_VECTEUR_3DD &bary1,OT_VECTEUR_3DD &bary2,OT_TENSEUR &tns1,OT_TENSEUR &tns2);
46    
47     void choisir_une_couleur(double& val);
48     void affecter_les_couleurs(TPL_LISTE_ENTITE<int>& liste);
49     double recherche_couleur(MG_ELEMENT_TOPOLOGIQUE* ele);
50     void supprime_couleur(MG_ELEMENT_TOPOLOGIQUE* ele);
51 francois 258
52     int localise_courbe(MG_COURBE *crb1,MG_COURBE *crb2);
53     int localise_surface(MG_SURFACE *surf1,MG_SURFACE *surf2);
54     void change_point_inverse(double *xyz);
55     void change_point(double *xyz);
56 francois 253 /*virtual void trouver_les_identites(int affiche_couleur);
57 souaissa 143 virtual void compare_les_deux_geometries(int affiche_couleur);
58     virtual void compare_les_deux_geometries_vectoriellement(int affiche_couleur);
59     virtual void compare_les_deux_geometries_inertiellement(int affiche_couleur);
60 souaissa 90 virtual void compare_une_geometrie_inertiellement(int modele);
61     virtual void affecter_les_couleurs(int niveau);
62 souaissa 87 virtual TPL_LISTE_ENTITE<int> get_liste_des_identitees();
63 souaissa 99 virtual TPL_LISTE_ENTITE<int> get_liste_des_simalarite_vectorielle(int type_comparais);
64     virtual TPL_LISTE_ENTITE<int> get_liste_des_simalarite_inertielle(int type_comparais);
65 souaissa 90 virtual void enregistrer(ostream& os);
66 souaissa 87 friend ostream& operator <<(ostream& o,VCT_COMPARAISON& vct_f);
67 souaissa 99 virtual void trouve_face_de_reference(int &face_ref1,int &face_ref2) ;
68 souaissa 153 virtual void identifier_aretes_face_modifiee(MG_FACE* face1,MG_FACE* face2,TPL_LISTE_ENTITE<int>& aretes_identiques,TPL_LISTE_ENTITE<int>& aretes_simil,TPL_LISTE_ENTITE<int>&lst_corrsp_sommets,TPL_LISTE_ENTITE<int>& aret1_conservees,TPL_LISTE_ENTITE<int>& aret1_disparues,TPL_LISTE_ENTITE<int>& aret2_conservees ,TPL_LISTE_ENTITE<int>& aret2_nouvelles ,TPL_LISTE_ENTITE<int>& aret2_partielles ) ;
69 souaissa 142 virtual int comparer_aretes_faces(MG_FACE* f_ref1,MG_FACE* f_ref2,MG_FACE* face1,MG_FACE* face2,TPL_LISTE_ENTITE<int>& aretes_identiques,TPL_LISTE_ENTITE<int>& aretes_sim) ;
70     virtual void identifier_les_modifications_appliquees(VCT_COMPARAISON_RESULTAT& Results);
71 souaissa 153 virtual void identifier_les_sommets(MG_FACE* face1_ref,MG_FACE* face2_ref,TPL_LISTE_ENTITE<int>& lst_corrsp_sommets,VCT_COMPARAISON_RESULTAT& Results) ;
72     virtual void get_syteme_daxes_globale();
73 souaissa 159 virtual int surfaces_sont_elles_identiques(MG_FACE* face1,MG_FACE* face2);
74     virtual int courbes_sont_elles_identiques(MG_ARETE* arete1,MG_ARETE* arete2);
75 souaissa 153 int modele_a_change_de_repere();
76 francois 253 virtual void verifier_le_repere(OT_TENSEUR& rep1,OT_TENSEUR& rep2,vector<double2>& inert1,vector<double2>& inert2);*/
77 souaissa 66 private:
78 francois 253 /*TPL_LISTE_ENTITE<int> sim1,sim2; //pour la sim vectorielle dans un mme modele
79 souaissa 142 TPL_LISTE_ENTITE<int> ssim1,ssim2; //pour la sim vectorielle dans un mme modele
80 souaissa 87 TPL_LISTE_ENTITE<int> similarite; //pour la sim vectorielle
81     TPL_LISTE_ENTITE<int> ssimilarite; //pour la sim inertielle
82 souaissa 99 TPL_LISTE_ENTITE<int> sim_double; //pour la sim vectorielle et inertielle
83     TPL_LISTE_ENTITE<int> identite; //pour l'iden inertielle
84     TPL_LISTE_ENTITE<int> nb_sim;
85 souaissa 153 TPL_LISTE_ENTITE<int> surf_ident; //pour les surfaces identiques
86 souaissa 142 int face_ref1;
87     int face_ref2;
88 francois 253 */
89 souaissa 142 MG_GESTIONNAIRE *gest1;
90     MG_GESTIONNAIRE *gest2;
91 souaissa 87 MG_GEOMETRIE*mggeo1;
92     MG_GEOMETRIE*mggeo2;
93 francois 258 double eps;
94 francois 253 /*
95 souaissa 99 // void trouve_face_de_reference(int &face_ref1,int &face_ref2) ; //,TPL_LISTE_ENTITE<int>& list
96 souaissa 90 void choisir_une_couleur(double& val);
97 souaissa 142 int comparer_liste_des_pts( vector<OT_VECTEUR_4DD> &pts1,vector<OT_VECTEUR_4DD> &pts2);
98 souaissa 99 // void trouve_la_face_de_reference(TPL_LISTE_ENTITE<int>&lst_sim_inert);
99 souaissa 153 OT_TENSEUR T1;
100 francois 253 OT_TENSEUR T2;*/
101     TPL_LISTE_ENTITE<int> similarite;
102     TPL_LISTE_ENTITE<int> identite;
103     TPL_LISTE_ENTITE<int> localise;
104 francois 258 OT_TENSEUR transformation;
105     OT_TENSEUR transformation_inverse;
106 souaissa 66 };
107    
108 francois 253
109 souaissa 66 #endif