ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_surface.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: 2761 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_surface.h
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 � 11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #ifndef __MGSURFACE_
24 #define __MGSURFACE_
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
37 #include "mg_element_geometrique.h"
38 #include "tpl_liste_entite.h"
39
40 class DLLPORTGEOMETRIE MG_SURFACE:public MG_ELEMENT_GEOMETRIQUE
41 {
42 public:
43 MG_SURFACE(unsigned long num);
44 MG_SURFACE();
45 MG_SURFACE(MG_SURFACE& mdd);
46 virtual ~MG_SURFACE();
47
48 virtual int get_type(void);
49
50 virtual void evaluer(double *uv,double *xyz) = 0;
51 virtual void deriver(double *uv,double *xyzdu, double *xyzdv) = 0;
52 virtual void deriver_seconde(double *uv,double* xyzduu,double* xyzduv,double* xyzdvv,double *xyz = NULL , double *xyzdu = NULL , double *xyzdv =NULL)=0;
53 virtual void inverser(double *uv,double *xyz,double precision=1e-6) = 0;
54 virtual bool est_sur_surface(double *xyz,double precision=1e-6)=0;
55 virtual double get_umin();
56 virtual double get_umax();
57 virtual double get_vmin();
58 virtual double get_vmax();
59 virtual int est_periodique_u(void)=0;
60 virtual int est_periodique_v(void)=0;
61 virtual double get_periode_u(void)=0;
62 virtual double get_periode_v(void)=0;
63 virtual VCT& get_vectorisation(void);
64 virtual void enregistrer(std::ostream& o,double version)=0;
65 virtual int get_type_geometrique(TPL_LISTE_ENTITE<double> &param)=0;
66 virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param)=0;
67 virtual void get_liste_pole(std::vector<double> *liste_pole_uv,double eps)=0;
68
69
70
71 protected:
72 double u_min;
73 double u_max;
74 double v_min;
75 double v_max;
76 class VCT_SURFACE* vect;
77
78 };
79
80
81
82 #endif
83
84