MAGiC
V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
vct_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
//####// vct_arete.cpp
15
//####//
16
//####//------------------------------------------------------------
17
//####//------------------------------------------------------------
18
//####// COPYRIGHT 2000-2024
19
//####// jeu 13 jun 2024 11:58:55 EDT
20
//####//------------------------------------------------------------
21
//####//------------------------------------------------------------
22
#include "
gestionversion.h
"
23
24
25
#pragma hdrstop
26
#include "
vct_arete.h
"
27
#include "
vct_courbe.h
"
28
#include "
mg_courbe.h
"
29
#include "
mg_arete.h
"
30
#include <iomanip>
31
#include<math.h>
32
#include "
ot_mathematique.h
"
33
34
#pragma package(smart_init)
35
36
37
38
VCT_ARETE::VCT_ARETE
(
MG_ARETE
* arete):
VCT_ELEMENT_TOPOLOGIQUE
(arete)
39
{
40
double2
ZERO=0.;
41
int
indx_premier_ptctr;
42
OT_VECTEUR_4DD
V1,
V2
,
V
;
43
44
TPL_LISTE_ENTITE<double>
nurbs_params;
45
arete->
get_param_NURBS
(indx_premier_ptctr,nurbs_params);
46
int
nb_points=1/4.*(nurbs_params.
get_nb
()-indx_premier_ptctr);
47
48
OT_VECTEUR_4DD
VCT_NUL(0.,0.,0.,0.);
49
50
for
(
int
s=0;s<nb_points-1;s++)
51
{
52
V1[0]=nurbs_params.
get
(indx_premier_ptctr+ 4 * s);
53
V1[1]=nurbs_params.
get
(indx_premier_ptctr+ 4 * s + 1);
54
V1[2]=nurbs_params.
get
(indx_premier_ptctr+ 4 * s + 2);
55
V1[3]=nurbs_params.
get
(indx_premier_ptctr+ 4 * s + 3);
56
57
if
(s==0)
58
lst_points
.insert(
lst_points
.end(),V1);
59
60
V2
[0]=nurbs_params.
get
(indx_premier_ptctr+ 4 * (s + 1));
61
V2
[1]=nurbs_params.
get
(indx_premier_ptctr+ 4 * (s + 1) + 1);
62
V2
[2]=nurbs_params.
get
(indx_premier_ptctr+ 4 * (s + 1) + 2);
63
V2
[3]=nurbs_params.
get
(indx_premier_ptctr+ 4 * (s + 1) + 3);
64
65
lst_points
.insert(
lst_points
.end(),
V2
);
66
67
V
=
V2
-V1;
68
/*
69
double2 norm_au_carre=(V[0]*V[0])+(V[1]*V[1])+(V[2]*V[2])+(V[3]*V[3]);
70
double2 norm=norm_au_carre^0.5;
71
*/
72
if
(
V
.est_nul_3d())
continue
;
73
V
.vecteur_norme_3d();
74
if
(
V
==VCT_NUL)
75
lst_vecteurs
.insert(
lst_vecteurs
.end(),VCT_NUL);
76
77
//if (norm!=ZERO) {
78
// V=1./norm*V;
79
else
lst_vecteurs
.insert(
lst_vecteurs
.end(),
V
);
80
81
// }
82
83
}
84
85
construire_forme_tensorielle
();
86
}
87
88
VCT_ARETE::VCT_ARETE
(
VCT_ARETE
& mdd):
VCT_ELEMENT_TOPOLOGIQUE
(mdd.elem_topo)
89
{
90
}
91
92
93
VCT_ARETE::~ VCT_ARETE()
94
{
95
96
}
97
98
gestionversion.h
VCT::lst_points
std::vector< OT_VECTEUR_4DD > lst_points
Definition:
vct.h:61
MG_ARETE::get_param_NURBS
virtual void get_param_NURBS(int &indx_premier_ptctr, TPL_LISTE_ENTITE< double > ¶m)
Definition:
mg_arete.cpp:361
vct_arete.h
VCT::construire_forme_tensorielle
void construire_forme_tensorielle(void)
Definition:
vct.cpp:62
vct_courbe.h
VCT_ARETE::VCT_ARETE
VCT_ARETE(class MG_ARETE *arete)
Definition:
vct_arete.cpp:38
V2
bool V2(MCBody *_mcBody, MG_ELEMENT_TOPOLOGIQUE *topo)
Definition:
CAD4FE_MCBody.cpp:804
mg_courbe.h
double2
Definition:
ot_doubleprecision.h:29
V
void V(MCAA *mcaa)
Definition:
CAD4FE_MCAA.cpp:1794
TPL_LISTE_ENTITE::get_nb
virtual int get_nb(void)
Definition:
tpl_liste_entite.h:67
mg_arete.h
TPL_LISTE_ENTITE::get
virtual X get(int num)
Definition:
tpl_liste_entite.h:72
ot_mathematique.h
VCT::lst_vecteurs
std::vector< OT_VECTEUR_4DD > lst_vecteurs
Definition:
vct.h:62
VCT_ARETE
Definition:
vct_arete.h:39
TPL_LISTE_ENTITE< double >
MG_ARETE
Definition:
mg_arete.h:36
VCT_ELEMENT_TOPOLOGIQUE
Definition:
vct_element_topologique.h:37
OT_VECTEUR_4DD
Definition:
ot_mathematique.h:284
home
francois
tmp
lib
mtu
src
vct_arete.cpp
Généré le Jeudi 12 Juin 2025 23:00:11 pour MAGiC par
1.8.17