ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/mg_courbe.cpp
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 1 week ago) by francois
File size: 2262 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
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     //####// mg_courbe.cpp
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:54 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283
23    
24     #include "gestionversion.h"
25     #include <math.h>
26     #include "mg_courbe.h"
27     #include "vct_courbe.h"
28    
29    
30    
31     MG_COURBE::MG_COURBE(unsigned long num):MG_ELEMENT_GEOMETRIQUE(num),vect(NULL)
32     {
33     }
34    
35    
36     MG_COURBE::MG_COURBE():MG_ELEMENT_GEOMETRIQUE(),vect(NULL)
37     {
38     }
39    
40    
41    
42     MG_COURBE::MG_COURBE(MG_COURBE& mdd):MG_ELEMENT_GEOMETRIQUE(),vect(NULL)
43     {
44     }
45    
46    
47     MG_COURBE::~MG_COURBE()
48     {
49     if (vect!=NULL) delete vect;
50     }
51    
52 couturad 906 int MG_COURBE::get_type(void)
53     {
54     return TYPE_ELEMENT_GEOMETRIQUE::COURBE;
55     }
56    
57    
58 francois 283 double MG_COURBE::get_tmin()
59     {
60     return t_min;
61     }
62     double MG_COURBE::get_tmax()
63     {
64     return t_max;
65     }
66    
67     double MG_COURBE::get_M(double t)
68     {
69     double ddxyz[3];
70     double dxyz[3];
71     double xyz[3];
72    
73     deriver_seconde(t,ddxyz,dxyz,xyz);
74     double facteur1=(dxyz[0]*dxyz[0]+dxyz[1]*dxyz[1]+dxyz[2]*dxyz[2]);
75     double facteur2=(ddxyz[0]*dxyz[0]+ddxyz[1]*dxyz[1]+ddxyz[2]*dxyz[2])/facteur1/facteur1;
76     double m[3];
77     m[0]=ddxyz[0]/facteur1-dxyz[0]*facteur2;
78     m[1]=ddxyz[1]/facteur1-dxyz[1]*facteur2;
79     m[2]=ddxyz[2]/facteur1-dxyz[2]*facteur2;
80     return sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2]);
81    
82     }
83    
84     VCT& MG_COURBE::get_vectorisation(void)
85     {
86     if (vect==NULL) vect=new VCT_COURBE(this);
87     return *vect;
88    
89     }
90