ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/reconstruction/src/rec_arete.cpp
Revision: 481
Committed: Tue Jan 28 16:10:58 2014 UTC (11 years, 3 months ago) by francois
File size: 3721 byte(s)
Log Message:
unification de la facon d'ecrire les fichiers tous en minuscules

File Contents

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