MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
rec_arete.cpp
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
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 #include "gestionversion.h"
23 
24 #pragma hdrstop
25 
26 #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 #include "constantegeo.h"
33 #include "fem_maillage.h"
34 
35 
36 #pragma package(smart_init)
37 
38 
39 
40 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 {
42 
43 }
44 
46 {
47 
48 }
49 
50 void REC_ARETE::Reconstruire(MG_COARETE* coArete, double coef)
51 {
52 
53 if(Idealiser == 0)
54  {
56  Rec.Reconstruire(coArete, coef);
57  }
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  MG_GEOMETRIE* mggeometrie = fem_maillage->get_mg_geometrie();
79  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  if(type_courbe == GEOMETRIE::CONST::Co_LINE)
98  {
100  Rec.Reconstruire(coArete, coef);
101  }
102  else
103  {
104  if(type_courbe == GEOMETRIE::CONST::Co_CIRCLE)
105  {
107  Rec.Reconstruire(coArete, coef);
108  }
109  else
110  {
111  if(type_courbe == GEOMETRIE::CONST::Co_ELLIPSE)
112  {
114  Rec.Reconstruire(coArete, coef);
115  }
116  }
117  }
118 
119  }
120  else
121  {
123  Rec.Reconstruire(coArete, coef);
124  }
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 
MG_GEOMETRIE * get_mg_geometrie(void)
virtual class MG_COURBE * get_courbe(void)
Definition: mg_arete.cpp:89
virtual MG_COARETE * get_mg_coarete(int num)
Definition: mg_arete.cpp:228
virtual int get_nb_mg_coarete(void)
Definition: mg_arete.cpp:106
virtual MG_FACE * get_mg_face(void)
Definition: mg_boucle.cpp:102
virtual MG_ARETE * get_arete(void)
Definition: mg_coarete.cpp:58
virtual MG_BOUCLE * get_boucle(void)
Definition: mg_coarete.cpp:53
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > &param)=0
unsigned int get_nb_mg_face(void)
MG_FACE * get_mg_face(unsigned int num)
void Reconstruire(MG_COARETE *coArete, double coef)
void Reconstruire(MG_COARETE *coArete, double coef)
void Reconstruire(MG_COARETE *coArete, double coef)
void Reconstruire(MG_COARETE *coArete, double coef)
void Enregistrer(char *fich)
Definition: rec_arete.cpp:134
virtual ~REC_ARETE()
Definition: rec_arete.cpp:45
REC_ARETE(FEM_MAILLAGE *fem_mai, int Idealise, OCC_FONCTION_RECONSTRUCTION &fonc, int test, int *faces)
Definition: rec_arete.cpp:40
void Reconstruire(MG_COARETE *coArete, double coef)
Definition: rec_arete.cpp:50
FEM_MAILLAGE * fem_maillage
Definition: rec_brep.h:52
OCC_FONCTION_RECONSTRUCTION & fonction
Definition: rec_brep.h:56
int Idealiser
Definition: rec_brep.h:53
int * faceso
Definition: rec_face.h:47
int testo
Definition: rec_face.h:46
double f(double x, long nb, double *xfonc, double *fonc, double eng, double eni, double lambda, double nor, double *fonc2)