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