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 
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  }
84 }
85 
86 
88 {
89 }
90 
91 
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 > &param)=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