ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/reconstruction/src/rec_arete.cpp
Revision: 5
Committed: Tue Jun 12 20:26:34 2007 UTC (17 years, 11 months ago)
Original Path: magic/lib/reconstruction/reconstruction/src/Rec_arete.cpp
File size: 3742 byte(s)
Log Message:

File Contents

# User Rev Content
1 5 //---------------------------------------------------------------------------
2     #include "gestionversion.h"
3    
4     #pragma hdrstop
5    
6     #include "Rec_arete.h"
7     #include <atl\atlmod.h>
8     #include "OCC_fonction.h"
9     #include "Rec_arete_Spline.h"
10     #include "Rec_arete_Lineaire.h"
11     #include "Rec_arete_Circulaire.h"
12     #include "Rec_arete_Elliptique.h"
13     #include "constantegeo.h"
14     #include "fem_maillage.h"
15    
16     //---------------------------------------------------------------------------
17    
18     #pragma package(smart_init)
19    
20    
21    
22     REC_ARETE::REC_ARETE(FEM_MAILLAGE* fem_mai0,FEM_MAILLAGE *fem_mai1, int Idealise, int test, int* faces): REC_CONTOUR(fem_mai0, fem_mai1, Idealise, test, faces)
23     {
24    
25     }
26    
27     REC_ARETE::~REC_ARETE()
28     {
29    
30     }
31    
32     void REC_ARETE::Reconstruire(MG_COARETE* coArete)
33     {
34    
35     if(Idealiser == 0)
36     {
37     REC_ARETE_SPLINE Rec(fem_maillage0,fem_maillage1, Idealiser, testo, faceso);
38     Rec.Reconstruire(coArete);
39     }
40    
41     else
42     {
43     int faceface = 0;
44    
45     MG_ARETE* Arete = coArete->get_arete();
46    
47     TPL_LISTE_ENTITE <double> Parametres;
48     MG_COURBE* courbe = Arete->get_courbe();
49     int type_courbe = courbe->get_type_geometrique(Parametres);
50    
51     int nb_coarete = Arete->get_nb_mg_coarete();
52     for(int j =0; j<nb_coarete; j++)
53     {
54     MG_COARETE* coArete1 = Arete->get_mg_coarete(j);
55     if(coArete1 != coArete)
56     {
57    
58     MG_BOUCLE* Boucle = coArete1->get_boucle();
59     MG_FACE* Face = Boucle->get_mg_face();
60     MG_GEOMETRIE* mggeometrie = fem_maillage1->get_mg_geometrie();
61     int nb_face = mggeometrie->get_nb_mg_face();
62    
63     int Face_a_idealiser = 0;
64     for (int f =0; f<nb_face;f++)
65     {
66     MG_FACE* F = mggeometrie->get_mg_face(f);
67     if(F==Face)
68     {
69     if(testo ==1 && faceso[f] ==1)
70     faceface = 1;
71     }
72     }
73    
74     }
75     }
76    
77     if(faceface == 1)
78     {
79     if(type_courbe == MGCo_LINE)
80     {
81     REC_ARETE_LINEAIRE Rec(fem_maillage0,fem_maillage1, Idealiser, testo, faceso);
82     Rec.Reconstruire(coArete);
83     }
84     else
85     {
86     if(type_courbe == MGCo_CIRCLE)
87     {
88     REC_ARETE_CIRCULAIRE Rec(fem_maillage0,fem_maillage1, Idealiser, testo, faceso);
89     Rec.Reconstruire(coArete);
90     }
91     else
92     {
93     if(type_courbe == MGCo_ELLIPSE)
94     {
95     REC_ARETE_ELLIPTIQUE Rec(fem_maillage0,fem_maillage1, Idealiser, testo, faceso);
96     Rec.Reconstruire(coArete);
97     }
98     }
99    
100     }
101    
102    
103     }
104     else
105     {
106     REC_ARETE_SPLINE Rec(fem_maillage0,fem_maillage1, Idealiser, testo, faceso);
107     Rec.Reconstruire(coArete);
108     }
109    
110    
111     }
112    
113    
114    
115    
116     }
117    
118     void REC_ARETE::Enregistrer(char *path)
119     {
120     }
121    
122    
123    
124    
125    
126    
127    
128    
129