MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_courbe.h
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 //####// mg_courbe.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef __MGCOURBE_
23 #define __MGCOURBE_
24 
25 
26 
27 #include "mg_element_geometrique.h"
28 #include "tpl_liste_entite.h"
29 
31 {
32 public:
33  MG_COURBE(unsigned long num);
34  MG_COURBE();
35  MG_COURBE(MG_COURBE& mdd);
36  virtual ~MG_COURBE();
37 
38  virtual int get_type(void);
39 
40  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  virtual bool est_sur_courbe(double *xyz,double precision=1e-6)=0;
45  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  virtual void enregistrer(std::ostream& o,double version)=0;
55  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 
MG_COURBE::deriver
virtual void deriver(double t, double *xyz)=0
MG_COURBE::est_periodique
virtual int est_periodique(void)=0
MG_COURBE::MG_COURBE
MG_COURBE()
Definition: mg_courbe.cpp:36
MG_COURBE::inverser
virtual void inverser(double &t, double *xyz, double precision=1e-6)=0
MG_COURBE::get_M
virtual double get_M(double t)
Definition: mg_courbe.cpp:67
MG_COURBE::get_type
virtual int get_type(void)
Definition: mg_courbe.cpp:52
MG_COURBE::get_param_NURBS
virtual void get_param_NURBS(int &indx_premier_ptctr, TPL_LISTE_ENTITE< double > &param)=0
MG_COURBE::enregistrer
virtual void enregistrer(std::ostream &o, double version)=0
MG_COURBE
Definition: mg_courbe.h:30
MG_COURBE::deriver_seconde
virtual void deriver_seconde(double t, double *ddxyz, double *dxyz=NULL, double *xyz=NULL)=0
MG_COURBE::get_longueur
virtual double get_longueur(double t1, double t2, double precis=1e6)=0
MG_COURBE::t_min
double t_min
Definition: mg_courbe.h:61
mg_element_geometrique.h
MG_COURBE::t_max
double t_max
Definition: mg_courbe.h:62
MG_COURBE::get_tmax
virtual double get_tmax()
Definition: mg_courbe.cpp:62
MG_COURBE::vect
class VCT_COURBE * vect
Definition: mg_courbe.h:63
MG_ELEMENT_GEOMETRIQUE
Definition: mg_element_geometrique.h:30
MG_COURBE::evaluer
virtual void evaluer(double t, double *xyz)=0
MG_COURBE::est_sur_courbe
virtual bool est_sur_courbe(double *xyz, double precision=1e-6)=0
MG_COURBE::get_type_geometrique
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > &param)=0
MG_COURBE::get_vectorisation
virtual VCT & get_vectorisation(void)
Definition: mg_courbe.cpp:84
VCT_COURBE
Definition: vct_courbe.h:36
MG_COURBE::get_periode
virtual double get_periode(void)=0
TPL_LISTE_ENTITE< double >
MG_COURBE::~MG_COURBE
virtual ~MG_COURBE()
Definition: mg_courbe.cpp:47
tpl_liste_entite.h
VCT
Definition: vct.h:33
MG_COURBE::get_tmin
virtual double get_tmin()
Definition: mg_courbe.cpp:58