ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/comparaison/src/vct_comparaison.h
Revision: 275
Committed: Fri Mar 25 21:45:37 2011 UTC (14 years, 1 month ago) by francois
Content type: text/plain
Original Path: magic/lib/vectorisation/src/vct_comparaison.h
File size: 5600 byte(s)
Log Message:
Ajout de l'importation de la triangulation STL dans les fichiers opencascade et creation d'un executable de 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 275 void identifie_topologie_sous_jacente(VCT_COMPARAISON_RESULTAT &cmp,MG_FACE* face1,MG_FACE* face2,int& sommetparfait,int& areteparfait);
42 francois 258 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 275
57     void (*affiche)(char *mess);
58     void active_affichage(void (*fonc)(char*));
59 francois 253 /*virtual void trouver_les_identites(int affiche_couleur);
60 souaissa 143 virtual void compare_les_deux_geometries(int affiche_couleur);
61     virtual void compare_les_deux_geometries_vectoriellement(int affiche_couleur);
62     virtual void compare_les_deux_geometries_inertiellement(int affiche_couleur);
63 souaissa 90 virtual void compare_une_geometrie_inertiellement(int modele);
64     virtual void affecter_les_couleurs(int niveau);
65 souaissa 87 virtual TPL_LISTE_ENTITE<int> get_liste_des_identitees();
66 souaissa 99 virtual TPL_LISTE_ENTITE<int> get_liste_des_simalarite_vectorielle(int type_comparais);
67     virtual TPL_LISTE_ENTITE<int> get_liste_des_simalarite_inertielle(int type_comparais);
68 souaissa 90 virtual void enregistrer(ostream& os);
69 souaissa 87 friend ostream& operator <<(ostream& o,VCT_COMPARAISON& vct_f);
70 souaissa 99 virtual void trouve_face_de_reference(int &face_ref1,int &face_ref2) ;
71 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 ) ;
72 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) ;
73     virtual void identifier_les_modifications_appliquees(VCT_COMPARAISON_RESULTAT& Results);
74 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) ;
75     virtual void get_syteme_daxes_globale();
76 souaissa 159 virtual int surfaces_sont_elles_identiques(MG_FACE* face1,MG_FACE* face2);
77     virtual int courbes_sont_elles_identiques(MG_ARETE* arete1,MG_ARETE* arete2);
78 souaissa 153 int modele_a_change_de_repere();
79 francois 253 virtual void verifier_le_repere(OT_TENSEUR& rep1,OT_TENSEUR& rep2,vector<double2>& inert1,vector<double2>& inert2);*/
80 souaissa 66 private:
81 francois 253 /*TPL_LISTE_ENTITE<int> sim1,sim2; //pour la sim vectorielle dans un mme modele
82 souaissa 142 TPL_LISTE_ENTITE<int> ssim1,ssim2; //pour la sim vectorielle dans un mme modele
83 souaissa 87 TPL_LISTE_ENTITE<int> similarite; //pour la sim vectorielle
84     TPL_LISTE_ENTITE<int> ssimilarite; //pour la sim inertielle
85 souaissa 99 TPL_LISTE_ENTITE<int> sim_double; //pour la sim vectorielle et inertielle
86     TPL_LISTE_ENTITE<int> identite; //pour l'iden inertielle
87     TPL_LISTE_ENTITE<int> nb_sim;
88 souaissa 153 TPL_LISTE_ENTITE<int> surf_ident; //pour les surfaces identiques
89 souaissa 142 int face_ref1;
90     int face_ref2;
91 francois 253 */
92 souaissa 142 MG_GESTIONNAIRE *gest1;
93     MG_GESTIONNAIRE *gest2;
94 souaissa 87 MG_GEOMETRIE*mggeo1;
95     MG_GEOMETRIE*mggeo2;
96 francois 258 double eps;
97 francois 253 /*
98 souaissa 99 // void trouve_face_de_reference(int &face_ref1,int &face_ref2) ; //,TPL_LISTE_ENTITE<int>& list
99 souaissa 90 void choisir_une_couleur(double& val);
100 souaissa 142 int comparer_liste_des_pts( vector<OT_VECTEUR_4DD> &pts1,vector<OT_VECTEUR_4DD> &pts2);
101 souaissa 99 // void trouve_la_face_de_reference(TPL_LISTE_ENTITE<int>&lst_sim_inert);
102 souaissa 153 OT_TENSEUR T1;
103 francois 253 OT_TENSEUR T2;*/
104     TPL_LISTE_ENTITE<int> similarite;
105     TPL_LISTE_ENTITE<int> identite;
106     TPL_LISTE_ENTITE<int> localise;
107 francois 258 OT_TENSEUR transformation;
108     OT_TENSEUR transformation_inverse;
109 francois 275 int affichageactif;
110 souaissa 66 };
111    
112 francois 253
113 souaissa 66 #endif