ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_courbe.cpp
Revision: 71
Committed: Mon Mar 31 21:10:47 2008 UTC (17 years, 1 month ago) by souaissa
Original Path: magic/lib/geometrie/geometrie/src/mg_courbe.cpp
File size: 2117 byte(s)
Log Message:
vectorisation est une propriete des entites

File Contents

# User Rev Content
1 5 //------------------------------------------------------------
2     //------------------------------------------------------------
3     // MAGiC
4     // Jean Christophe Cuillière et Vincent FRANCOIS
5     // Département de Génie Mécanique - UQTR
6     //------------------------------------------------------------
7     // Le projet MAGIC est un projet de recherche du département
8     // de génie mécanique de l'Université du Québec à
9     // Trois Rivières
10     // Les librairies ne peuvent être utilisées sans l'accord
11     // des auteurs (contact : francois@uqtr.ca)
12     //------------------------------------------------------------
13     //------------------------------------------------------------
14     //
15     // mg_courbe.cpp
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 à 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25     #include "gestionversion.h"
26     #include <math.h>
27     #include "mg_courbe.h"
28 souaissa 71 #include "vct_courbe.h"
29 5
30    
31    
32 souaissa 71 MG_COURBE::MG_COURBE(unsigned long num):MG_ELEMENT_GEOMETRIQUE(num),vect(NULL)
33 5 {
34     }
35    
36    
37 souaissa 71 MG_COURBE::MG_COURBE():MG_ELEMENT_GEOMETRIQUE(),vect(NULL)
38 5 {
39     }
40    
41    
42    
43 souaissa 71 MG_COURBE::MG_COURBE(MG_COURBE& mdd):MG_ELEMENT_GEOMETRIQUE(),vect(NULL)
44 5 {
45     }
46    
47    
48     MG_COURBE::~MG_COURBE()
49     {
50 souaissa 71 if (vect!=NULL) delete vect;
51 5 }
52    
53     double MG_COURBE::get_tmin()
54     {
55     return t_min;
56     }
57     double MG_COURBE::get_tmax()
58     {
59     return t_max;
60     }
61    
62     double MG_COURBE::get_M(double t)
63     {
64     double ddxyz[3];
65     double dxyz[3];
66     double xyz[3];
67    
68     deriver_seconde(t,ddxyz,dxyz,xyz);
69     double facteur1=(dxyz[0]*dxyz[0]+dxyz[1]*dxyz[1]+dxyz[2]*dxyz[2]);
70     double facteur2=(ddxyz[0]*dxyz[0]+ddxyz[1]*dxyz[1]+ddxyz[2]*dxyz[2])/facteur1/facteur1;
71     double m[3];
72     m[0]=ddxyz[0]/facteur1-dxyz[0]*facteur2;
73     m[1]=ddxyz[1]/facteur1-dxyz[1]*facteur2;
74     m[2]=ddxyz[2]/facteur1-dxyz[2]*facteur2;
75     return sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2]);
76    
77     }
78    
79 souaissa 71 VCT& MG_COURBE::get_vectorisation(void)
80     {
81     if (vect==NULL) vect=new VCT_COURBE(this);
82     return *vect;
83 5
84 souaissa 71 }
85 5