ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/comparaison/src/vct_comparaison.h
Revision: 747
Committed: Tue Oct 6 19:53:22 2015 UTC (9 years, 7 months ago) by francois
Content type: text/plain
File size: 2511 byte(s)
Log Message:
gestion du multivolume a l'importation des fichiers OCC avec triangulation associƩe

File Contents

# User Rev Content
1 francois 283 //---------------------------------------------------------------------------
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     #include <vector>
17     #include "ot_tenseur.h"
18     #include "vct.h"
19     #include "mg_gestionnaire.h"
20     #include "ot_tenseur.h"
21     #include <ostream>
22     #include "tpl_liste_entite.h"
23     #include "vct_comparaison_resultat.h"
24     #include"ot_mathematique.h"
25     //----------------------------------------------------------------------------
26    
27     using namespace std;
28    
29     class DLLPORTVECTORISATION VCT_COMPARAISON
30     {
31     public:
32     VCT_COMPARAISON(MG_GESTIONNAIRE *gst1,MG_GEOMETRIE *mgeo1,MG_GESTIONNAIRE *gst2,MG_GEOMETRIE *mgeo2);
33     ~VCT_COMPARAISON();
34    
35    
36    
37     void compare(class VCT_COMPARAISON_RESULTAT &cmp,MG_VOLUME* vol1=NULL,MG_VOLUME* vol2=NULL,class OT_CPU *cpu=NULL);
38     void trouve_similarite(void);
39     void trouve_identite(void);
40     void trouve_localise(VCT_COMPARAISON_RESULTAT &cmp);
41     void identifie_topologie_sous_jacente(VCT_COMPARAISON_RESULTAT &cmp,MG_FACE* face1,MG_FACE* face2,int& sommetparfait,int& areteparfait);
42     void identifie_correspondance(VCT_COMPARAISON_RESULTAT &cmp);
43     void trouve_modification_partielle(VCT_COMPARAISON_RESULTAT &cmp);
44     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 francois 366
48 francois 283 int localise_courbe(MG_COURBE *crb1,MG_COURBE *crb2);
49     int localise_surface(MG_SURFACE *surf1,MG_SURFACE *surf2);
50     void change_point_inverse(double *xyz);
51     void change_point(double *xyz);
52 francois 351
53 francois 283
54     void active_affichage(void (*fonc)(char*));
55 francois 366
56 francois 283 private:
57     MG_GESTIONNAIRE *gest1;
58     MG_GESTIONNAIRE *gest2;
59     MG_GEOMETRIE*mggeo1;
60     MG_GEOMETRIE*mggeo2;
61     double eps;
62     TPL_LISTE_ENTITE<int> similarite;
63     TPL_LISTE_ENTITE<int> identite;
64     TPL_LISTE_ENTITE<int> localise;
65     OT_TENSEUR transformation;
66     OT_TENSEUR transformation_inverse;
67     int affichageactif;
68     void (*affiche)(char *mess);
69 francois 366 int sommetparfait;
70     int areteparfait;
71     int sommetpartiel;
72     int aretepartiel;
73     int facepartiel;
74    
75    
76 francois 283 };
77    
78    
79     #endif