ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_courbe.h
Revision: 906
Committed: Mon Nov 13 22:30:18 2017 UTC (7 years, 9 months ago) by couturad
Content type: text/plain
File size: 2512 byte(s)
Log Message:
Nouveau opencascade commit 1

File Contents

# Content
1 //------------------------------------------------------------
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.h
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 � 11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #ifndef __MGCOURBE_
24 #define __MGCOURBE_
25
26 #ifdef WINDOWS_VERSION
27 #ifdef BUILT_DLL_GEOMETRIE
28 #define DLLPORTGEOMETRIE __declspec(dllexport)
29 #else
30 #define DLLPORTGEOMETRIE __declspec(dllimport)
31 #endif
32 #else
33 #define DLLPORTGEOMETRIE
34 #endif
35
36 #include "mg_element_geometrique.h"
37 #include "tpl_liste_entite.h"
38
39 class DLLPORTGEOMETRIE MG_COURBE:public MG_ELEMENT_GEOMETRIQUE
40 {
41 public:
42 MG_COURBE(unsigned long num);
43 MG_COURBE();
44 MG_COURBE(MG_COURBE& mdd);
45 virtual ~MG_COURBE();
46
47 virtual int get_type(void);
48
49 virtual void evaluer(double t,double *xyz) = 0;
50 virtual void deriver(double t,double *xyz) = 0;
51 virtual void deriver_seconde(double t,double *ddxyz,double* dxyz = NULL,double* xyz = NULL )=0;
52 virtual void inverser(double& t,double *xyz,double precision=1e-6) = 0;
53 virtual bool est_sur_courbe(double *xyz,double precision=1e-6)=0;
54 virtual double get_tmin();
55 virtual double get_tmax();
56
57 virtual double get_M(double t);
58
59 virtual double get_longueur(double t1,double t2,double precis=1e6)=0;
60
61 virtual int est_periodique(void)=0;
62 virtual double get_periode(void)=0;
63 virtual void enregistrer(std::ostream& o,double version)=0;
64 virtual VCT& get_vectorisation(void);
65
66 virtual int get_type_geometrique(TPL_LISTE_ENTITE<double> &param)=0;
67 virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param)=0;
68
69 protected:
70 double t_min;
71 double t_max;
72 class VCT_COURBE* vect;
73
74 };
75
76
77
78 #endif
79
80