ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/mg_courbe.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (12 months, 1 week ago) by francois
Content type: text/plain
File size: 2361 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.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:54 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283 #ifndef __MGCOURBE_
23     #define __MGCOURBE_
24    
25    
26 francois 1158
27 francois 283 #include "mg_element_geometrique.h"
28     #include "tpl_liste_entite.h"
29    
30 francois 1158 class MG_COURBE:public MG_ELEMENT_GEOMETRIQUE
31 francois 283 {
32     public:
33     MG_COURBE(unsigned long num);
34     MG_COURBE();
35     MG_COURBE(MG_COURBE& mdd);
36     virtual ~MG_COURBE();
37    
38 couturad 906 virtual int get_type(void);
39    
40 francois 283 virtual void evaluer(double t,double *xyz) = 0;
41     virtual void deriver(double t,double *xyz) = 0;
42     virtual void deriver_seconde(double t,double *ddxyz,double* dxyz = NULL,double* xyz = NULL )=0;
43     virtual void inverser(double& t,double *xyz,double precision=1e-6) = 0;
44 couturad 906 virtual bool est_sur_courbe(double *xyz,double precision=1e-6)=0;
45 francois 283 virtual double get_tmin();
46     virtual double get_tmax();
47    
48     virtual double get_M(double t);
49    
50     virtual double get_longueur(double t1,double t2,double precis=1e6)=0;
51    
52     virtual int est_periodique(void)=0;
53     virtual double get_periode(void)=0;
54 francois 763 virtual void enregistrer(std::ostream& o,double version)=0;
55 francois 283 virtual VCT& get_vectorisation(void);
56    
57     virtual int get_type_geometrique(TPL_LISTE_ENTITE<double> &param)=0;
58     virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param)=0;
59    
60     protected:
61     double t_min;
62     double t_max;
63     class VCT_COURBE* vect;
64    
65     };
66    
67    
68    
69     #endif
70    
71