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 
REC_BREP::fonction
OCC_FONCTION_RECONSTRUCTION & fonction
Definition: rec_brep.h:56
REC_ARETE_LINEAIRE
Definition: rec_arete_lineaire.h:33
REC_ARETE_CIRCULAIRE::Reconstruire
void Reconstruire(MG_COARETE *coArete, double coef)
Definition: rec_arete_circulaire.cpp:50
OCC_FONCTION_RECONSTRUCTION
Definition: occ_fonction_reconstruction.h:84
MG_BOUCLE
Definition: mg_boucle.h:35
gestionversion.h
REC_BREP::fem_maillage
FEM_MAILLAGE * fem_maillage
Definition: rec_brep.h:52
REC_FACE::testo
int testo
Definition: rec_face.h:46
rec_arete_lineaire.h
fem_maillage.h
MG_COARETE
Definition: mg_coarete.h:31
GEOMETRIE::CONST::Co_ELLIPSE
@ Co_ELLIPSE
Definition: constantegeo.h:32
REC_ARETE_SPLINE::Reconstruire
void Reconstruire(MG_COARETE *coArete, double coef)
Definition: rec_arete_spline.cpp:53
FEM_MAILLAGE::get_mg_geometrie
MG_GEOMETRIE * get_mg_geometrie(void)
Definition: fem_maillage.cpp:88
MG_COARETE::get_boucle
virtual MG_BOUCLE * get_boucle(void)
Definition: mg_coarete.cpp:53
MG_COURBE
Definition: mg_courbe.h:30
REC_ARETE_LINEAIRE::Reconstruire
void Reconstruire(MG_COARETE *coArete, double coef)
Definition: rec_arete_lineaire.cpp:48
rec_arete_spline.h
REC_ARETE_CIRCULAIRE
Definition: rec_arete_circulaire.h:33
MG_ARETE::get_nb_mg_coarete
virtual int get_nb_mg_coarete(void)
Definition: mg_arete.cpp:106
REC_CONTOUR
Definition: rec_contour.h:33
f
double f(double x, long nb, double *xfonc, double *fonc, double eng, double eni, double lambda, double nor, double *fonc2)
Definition: fct_generateur_calibrage.cpp:96
FEM_MAILLAGE
Definition: fem_maillage.h:66
rec_arete.h
constantegeo.h
REC_FACE::faceso
int * faceso
Definition: rec_face.h:47
MG_BOUCLE::get_mg_face
virtual MG_FACE * get_mg_face(void)
Definition: mg_boucle.cpp:102
MG_GEOMETRIE::get_mg_face
MG_FACE * get_mg_face(unsigned int num)
Definition: mg_geometrie.cpp:1251
MG_GEOMETRIE::get_nb_mg_face
unsigned int get_nb_mg_face(void)
Definition: mg_geometrie.cpp:1264
rec_arete_elliptique.h
MG_COURBE::get_type_geometrique
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > &param)=0
REC_ARETE::Enregistrer
void Enregistrer(char *fich)
Definition: rec_arete.cpp:134
REC_ARETE::Reconstruire
void Reconstruire(MG_COARETE *coArete, double coef)
Definition: rec_arete.cpp:50
REC_ARETE_ELLIPTIQUE
Definition: rec_arete_elliptique.h:35
REC_ARETE_SPLINE
Definition: rec_arete_spline.h:34
MG_ARETE::get_courbe
virtual class MG_COURBE * get_courbe(void)
Definition: mg_arete.cpp:89
MG_GEOMETRIE
Definition: mg_geometrie.h:84
REC_ARETE::REC_ARETE
REC_ARETE(FEM_MAILLAGE *fem_mai, int Idealise, OCC_FONCTION_RECONSTRUCTION &fonc, int test, int *faces)
Definition: rec_arete.cpp:40
TPL_LISTE_ENTITE< double >
REC_BREP::Idealiser
int Idealiser
Definition: rec_brep.h:53
GEOMETRIE::CONST::Co_LINE
@ Co_LINE
Definition: constantegeo.h:32
MG_ARETE
Definition: mg_arete.h:36
MG_FACE
Definition: mg_face.h:34
occ_fonction.h
REC_ARETE_ELLIPTIQUE::Reconstruire
void Reconstruire(MG_COARETE *coArete, double coef)
Definition: rec_arete_elliptique.cpp:46
MG_COARETE::get_arete
virtual MG_ARETE * get_arete(void)
Definition: mg_coarete.cpp:58
GEOMETRIE::CONST::Co_CIRCLE
@ Co_CIRCLE
Definition: constantegeo.h:32
REC_ARETE::~REC_ARETE
virtual ~REC_ARETE()
Definition: rec_arete.cpp:45
rec_arete_circulaire.h
MG_ARETE::get_mg_coarete
virtual MG_COARETE * get_mg_coarete(int num)
Definition: mg_arete.cpp:228