ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/reconstruction/src/rec_arete.cpp
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 1 week ago) by francois
File size: 4700 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
2     //####//------------------------------------------------------------
3     //####// MAGiC
4     //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5     //####// Departement de Genie Mecanique - UQTR
6     //####//------------------------------------------------------------
7     //####// MAGIC est un projet de recherche de l equipe ERICCA
8     //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9     //####// http://www.uqtr.ca/ericca
10     //####// http://www.uqtr.ca/
11     //####//------------------------------------------------------------
12     //####//------------------------------------------------------------
13     //####//
14     //####// rec_arete.cpp
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:56 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 5 #include "gestionversion.h"
23    
24     #pragma hdrstop
25    
26 francois 481 #include "occ_fonction.h"
27     #include "rec_arete.h"
28     #include "rec_arete_spline.h"
29     #include "rec_arete_lineaire.h"
30     #include "rec_arete_circulaire.h"
31     #include "rec_arete_elliptique.h"
32 5 #include "constantegeo.h"
33     #include "fem_maillage.h"
34    
35    
36     #pragma package(smart_init)
37    
38    
39    
40 couturad 740 REC_ARETE::REC_ARETE(FEM_MAILLAGE* fem_mai, int Idealise, OCC_FONCTION_RECONSTRUCTION& fonc, int test, int* faces): REC_CONTOUR(fem_mai, Idealise, fonc, test, faces)
41 5 {
42    
43     }
44    
45     REC_ARETE::~REC_ARETE()
46     {
47    
48     }
49    
50 louhichi 211 void REC_ARETE::Reconstruire(MG_COARETE* coArete, double coef)
51 5 {
52    
53     if(Idealiser == 0)
54     {
55 louhichi 211 REC_ARETE_SPLINE Rec(fem_maillage, Idealiser, fonction, testo, faceso);
56     Rec.Reconstruire(coArete, coef);
57 5 }
58    
59     else
60     {
61     int faceface = 0;
62    
63     MG_ARETE* Arete = coArete->get_arete();
64    
65     TPL_LISTE_ENTITE <double> Parametres;
66     MG_COURBE* courbe = Arete->get_courbe();
67     int type_courbe = courbe->get_type_geometrique(Parametres);
68    
69     int nb_coarete = Arete->get_nb_mg_coarete();
70     for(int j =0; j<nb_coarete; j++)
71     {
72     MG_COARETE* coArete1 = Arete->get_mg_coarete(j);
73     if(coArete1 != coArete)
74     {
75    
76     MG_BOUCLE* Boucle = coArete1->get_boucle();
77     MG_FACE* Face = Boucle->get_mg_face();
78 louhichi 211 MG_GEOMETRIE* mggeometrie = fem_maillage->get_mg_geometrie();
79 5 int nb_face = mggeometrie->get_nb_mg_face();
80    
81     int Face_a_idealiser = 0;
82     for (int f =0; f<nb_face;f++)
83     {
84     MG_FACE* F = mggeometrie->get_mg_face(f);
85     if(F==Face)
86     {
87     if(testo ==1 && faceso[f] ==1)
88     faceface = 1;
89     }
90     }
91    
92     }
93     }
94    
95     if(faceface == 1)
96     {
97 francois 1149 if(type_courbe == GEOMETRIE::CONST::Co_LINE)
98 5 {
99 louhichi 211 REC_ARETE_LINEAIRE Rec(fem_maillage, Idealiser, fonction, testo, faceso);
100     Rec.Reconstruire(coArete, coef);
101 5 }
102     else
103     {
104 francois 1149 if(type_courbe == GEOMETRIE::CONST::Co_CIRCLE)
105 5 {
106 louhichi 211 REC_ARETE_CIRCULAIRE Rec(fem_maillage, Idealiser, fonction, testo, faceso);
107     Rec.Reconstruire(coArete, coef);
108 5 }
109     else
110     {
111 francois 1149 if(type_courbe == GEOMETRIE::CONST::Co_ELLIPSE)
112 5 {
113 louhichi 211 REC_ARETE_ELLIPTIQUE Rec(fem_maillage, Idealiser, fonction, testo, faceso);
114     Rec.Reconstruire(coArete, coef);
115 5 }
116     }
117     }
118    
119     }
120     else
121     {
122 louhichi 211 REC_ARETE_SPLINE Rec(fem_maillage, Idealiser, fonction, testo, faceso);
123     Rec.Reconstruire(coArete, coef);
124 5 }
125    
126    
127     }
128    
129    
130    
131    
132     }
133    
134     void REC_ARETE::Enregistrer(char *path)
135     {
136     }
137    
138    
139    
140    
141    
142    
143    
144    
145