MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
rec_arete_lineaire.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_lineaire.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_lineaire.h"
28 #include "fem_noeud.h"
29 #include "fem_maillage.h"
30 
31 
32 #pragma package(smart_init)
33 
34 
35 
36 
37 
38 REC_ARETE_LINEAIRE::REC_ARETE_LINEAIRE(FEM_MAILLAGE* fem_mai, int Idealise, OCC_FONCTION_RECONSTRUCTION& fonc, int test, int* faces): REC_ARETE(fem_mai, Idealise, fonc, test, faces)
39 {
40 
41 }
42 
44 {
45 
46 }
47 
48 void REC_ARETE_LINEAIRE::Reconstruire(MG_COARETE* coArete, double coef)
49 {
50 
51 double P1[3];
52 double P2[3];
53 
54 MG_ARETE* Arete = coArete->get_arete();
55 
56 MG_COSOMMET* cosommet1 = Arete->get_cosommet1();
57 MG_SOMMET* sommet1 = cosommet1->get_sommet();
58 int nb_noeud1 = sommet1->get_lien_fem_maillage()->get_nb();
59 FEM_NOEUD* noeud1;
60 for (int i =0; i<nb_noeud1;i++)
61  {
62  FEM_NOEUD* noeud =(FEM_NOEUD*)sommet1->get_lien_fem_maillage()->get(i);
63  if (!fem_maillage->contient(noeud)) continue;
64  noeud1 = noeud;
65  }
66 
67 P1[0]=noeud1->get_x(coef);
68 P1[1]=noeud1->get_y(coef);
69 P1[2]=noeud1->get_z(coef);
70 
71 MG_COSOMMET* cosommet2 = Arete->get_cosommet2();
72 MG_SOMMET* sommet2 = cosommet2->get_sommet();
73 int nb_noeud2 = sommet2->get_lien_fem_maillage()->get_nb();
74 FEM_NOEUD* noeud2;
75 for (int i =0; i<nb_noeud2;i++)
76  {
77  FEM_NOEUD* noeud =(FEM_NOEUD*)sommet1->get_lien_fem_maillage()->get(i);
78  if (!fem_maillage->contient(noeud)) continue;
79  noeud2 = noeud;
80  }
81 
82 P2[0]=noeud2->get_x(coef);
83 P2[1]=noeud2->get_y(coef);
84 P2[2]=noeud2->get_z(coef);
85 
87 
88 }
89 
91 {
92 
93 }
94 
95 
96 
97 
98 
99 
100 
101 
102 
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
OCC_FONCTION_RECONSTRUCTION
Definition: occ_fonction_reconstruction.h:84
gestionversion.h
REC_BREP::fem_maillage
FEM_MAILLAGE * fem_maillage
Definition: rec_brep.h:52
rec_arete_lineaire.h
OCC_FONCTION_RECONSTRUCTION::Creer_Arete_Lineaire
int Creer_Arete_Lineaire(double P1[3], double P2[3])
Definition: occ_fonction_reconstruction.cpp:299
fem_maillage.h
MG_COSOMMET
Definition: mg_cosommet.h:31
MG_COARETE
Definition: mg_coarete.h:31
fem_noeud.h
REC_ARETE_LINEAIRE::~REC_ARETE_LINEAIRE
virtual ~REC_ARETE_LINEAIRE()
Definition: rec_arete_lineaire.cpp:43
REC_ARETE_LINEAIRE::Reconstruire
void Reconstruire(MG_COARETE *coArete, double coef)
Definition: rec_arete_lineaire.cpp:48
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
FEM_NOEUD::get_z
virtual double get_z(double coef=0.)
Definition: fem_noeud.cpp:215
REC_ARETE_LINEAIRE::REC_ARETE_LINEAIRE
REC_ARETE_LINEAIRE(FEM_MAILLAGE *fem_mai, int Idealise, OCC_FONCTION_RECONSTRUCTION &fonc, int test, int *faces)
Definition: rec_arete_lineaire.cpp:38
FEM_MAILLAGE::contient
bool contient(MG_IDENTIFICATEUR *id)
Definition: fem_maillage.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
REC_ARETE_LINEAIRE::Enregistrer
void Enregistrer(char *fich)
Definition: rec_arete_lineaire.cpp:90
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