MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
rec_arete_circulaire.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_circulaire.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 
27 #include "occ_fonction.h"
28 #include "rec_arete_circulaire.h"
29 #include "fem_noeud.h"
30 #include "fem_maillage.h"
31 
32 
33 #pragma package(smart_init)
34 
35 
36 
37 
38 
39 
40 REC_ARETE_CIRCULAIRE::REC_ARETE_CIRCULAIRE(FEM_MAILLAGE* fem_mai, int Idealise, OCC_FONCTION_RECONSTRUCTION& fonc, int test, int* faces): REC_ARETE(fem_mai, Idealise, fonc, test, faces)
41 {
42 
43 }
44 
46 {
47 
48 }
49 
51 {
52 
53 double P1[3];
54 double P2[3];
55 
56 
57 MG_ARETE* Arete = coArete->get_arete();
58 
59 MG_COSOMMET* cosommet1 = Arete->get_cosommet1();
60 MG_SOMMET* sommet1 = cosommet1->get_sommet();
61 int nb_noeud1 = sommet1->get_lien_fem_maillage()->get_nb();
62 FEM_NOEUD* noeud1;
63 for (int i =0; i<nb_noeud1;i++)
64  {
65  FEM_NOEUD* noeud =(FEM_NOEUD*)sommet1->get_lien_fem_maillage()->get(i);
66  if (!fem_maillage->contient(noeud)) continue;
67  noeud1 = noeud;
68  }
69 
70 P1[0]=noeud1->get_x(coef);
71 P1[1]=noeud1->get_y(coef);
72 P1[2]=noeud1->get_z(coef);
73 
74 MG_COSOMMET* cosommet2 = Arete->get_cosommet2();
75 MG_SOMMET* sommet2 = cosommet2->get_sommet();
76 int nb_noeud2 = sommet2->get_lien_fem_maillage()->get_nb();
77 FEM_NOEUD* noeud2;
78 for (int i =0; i<nb_noeud2;i++)
79  {
80  FEM_NOEUD* noeud =(FEM_NOEUD*)sommet1->get_lien_fem_maillage()->get(i);
81  if (!fem_maillage->contient(noeud)) continue;
82  noeud2 = noeud;
83  }
84 
85 P2[0]=noeud2->get_x(coef);
86 P2[1]=noeud2->get_y(coef);
87 P2[2]=noeud2->get_z(coef);
88 
89 
90 TPL_LISTE_ENTITE <double> Parametres;
91 MG_COURBE* courbe = Arete->get_courbe();
92 int type_courbe = courbe->get_type_geometrique(Parametres);
93 
94 double Pnt_Insersion[3];
95 Pnt_Insersion[0]= Parametres.get(0);
96 Pnt_Insersion[1]= Parametres.get(1);
97 Pnt_Insersion[2]= Parametres.get(2);
98 
99 double Normal[3];
100 Normal[0]= Parametres.get(6);
101 Normal[1]= Parametres.get(7);
102 Normal[2]= Parametres.get(8);
103 
104 double Rayon = Parametres.get(9);
105 
106 fonction.Creer_Arete_Circulaire(Pnt_Insersion,Normal, P1, P2, Rayon);
107 
108 }
109 
111 {
112 
113 }
114 
115 
116 
117 
118 
119 
120 
121 
122 
MG_ARETE::get_cosommet2
virtual class MG_COSOMMET * get_cosommet2(void)
Definition: mg_arete.cpp:85
REC_BREP::fonction
OCC_FONCTION_RECONSTRUCTION & fonction
Definition: rec_brep.h:56
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
gestionversion.h
REC_BREP::fem_maillage
FEM_MAILLAGE * fem_maillage
Definition: rec_brep.h:52
fem_maillage.h
MG_COSOMMET
Definition: mg_cosommet.h:31
MG_COARETE
Definition: mg_coarete.h:31
REC_ARETE_CIRCULAIRE::REC_ARETE_CIRCULAIRE
REC_ARETE_CIRCULAIRE(FEM_MAILLAGE *fem_mai, int Idealise, OCC_FONCTION_RECONSTRUCTION &fonc, int test, int *faces)
Definition: rec_arete_circulaire.cpp:40
fem_noeud.h
OCC_FONCTION_RECONSTRUCTION::Creer_Arete_Circulaire
int Creer_Arete_Circulaire(double Pnt_Insersion[3], double Normal[3], double P1[3], double P2[3], double Rayon)
Definition: occ_fonction_reconstruction.cpp:321
MG_COURBE
Definition: mg_courbe.h:30
FEM_NOEUD::get_y
virtual double get_y(double coef=0.)
Definition: fem_noeud.cpp:210
FEM_MAILLAGE
Definition: fem_maillage.h:66
TPL_LISTE_ENTITE::get_nb
virtual int get_nb(void)
Definition: tpl_liste_entite.h:67
MG_COSOMMET::get_sommet
virtual MG_SOMMET * get_sommet(void)
Definition: mg_cosommet.cpp:83
TPL_LISTE_ENTITE::get
virtual X get(int num)
Definition: tpl_liste_entite.h:72
FEM_NOEUD::get_x
virtual double get_x(double coef=0.)
Definition: fem_noeud.cpp:205
FEM_NOEUD
Definition: fem_noeud.h:35
MG_COURBE::get_type_geometrique
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > &param)=0
FEM_NOEUD::get_z
virtual double get_z(double coef=0.)
Definition: fem_noeud.cpp:215
REC_ARETE_CIRCULAIRE::~REC_ARETE_CIRCULAIRE
virtual ~REC_ARETE_CIRCULAIRE()
Definition: rec_arete_circulaire.cpp:45
MG_ARETE::get_courbe
virtual class MG_COURBE * get_courbe(void)
Definition: mg_arete.cpp:89
FEM_MAILLAGE::contient
bool contient(MG_IDENTIFICATEUR *id)
Definition: fem_maillage.cpp:110
REC_ARETE_CIRCULAIRE::Enregistrer
void Enregistrer(char *fich)
Definition: rec_arete_circulaire.cpp:110
MG_ELEMENT_TOPOLOGIQUE::get_lien_fem_maillage
virtual TPL_LISTE_ENTITE< FEM_ELEMENT_MAILLAGE * > * get_lien_fem_maillage(void)
Definition: mg_element_topologique.cpp:67
TPL_LISTE_ENTITE< double >
MG_ARETE
Definition: mg_arete.h:36
occ_fonction.h
REC_ARETE
Definition: rec_arete.h:33
MG_ARETE::get_cosommet1
virtual class MG_COSOMMET * get_cosommet1(void)
Definition: mg_arete.cpp:81
MG_SOMMET
Definition: mg_sommet.h:35
MG_COARETE::get_arete
virtual MG_ARETE * get_arete(void)
Definition: mg_coarete.cpp:58
rec_arete_circulaire.h