ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/occ_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: 3089 byte(s)
Log Message:
Nouveau opencascade commit 1

File Contents

# Content
1 //---------------------------------------------------------------------------
2 //------------------------------------------------------------
3 //------------------------------------------------------------
4 // MAGiC
5 // Jean Christophe Cuilli�re et Vincent FRANCOIS
6 // D�partement de G�nie M�canique - UQTR
7 //------------------------------------------------------------
8 // Le projet MAGIC est un projet de recherche du d�partement
9 // de g�nie m�canique de l'Universit� du Qu�bec �
10 // Trois Rivi�res
11 // Les librairies ne peuvent �tre utilis�es sans l'accord
12 // des auteurs (contact : francois@uqtr.ca)
13 //------------------------------------------------------------
14 //------------------------------------------------------------
15 //
16 // OCC_Surface.h
17 //
18 //------------------------------------------------------------
19 //------------------------------------------------------------
20 // COPYRIGHT 2000
21 // Version du 02/03/2006 � 11H22
22 //------------------------------------------------------------
23 //------------------------------------------------------------
24 //---------------------------------------------------------------------------
25
26 //-------------------------------------------------------------------------
27 #ifdef BREP_OCC
28 #ifndef OCC_SurfaceH
29 #define OCC_SurfaceH
30
31 #ifdef WINDOWS_VERSION
32 #ifdef BUILT_DLL_GEOMETRIE
33 #define DLLPORTGEOMETRIE __declspec(dllexport)
34 #else
35 #define DLLPORTGEOMETRIE __declspec(dllimport)
36 #endif
37 #else
38 #define DLLPORTGEOMETRIE
39 #endif
40
41
42
43 #include "mg_surface.h"
44 #include "Geom_Surface.hxx"
45 #include "occ_fonction.h"
46 #include "occ_fonction_v2015.h"
47 #include "occ_fonction_v2017.h"
48 #include "TopoDS_Face.hxx"
49 #include <map>
50
51 class DLLPORTGEOMETRIE OCC_SURFACE:public MG_SURFACE
52 {
53 public:
54 OCC_SURFACE(unsigned long num, TopoDS_Face srf, OCC_FONCTION* fonc);
55 OCC_SURFACE(TopoDS_Face srf, OCC_FONCTION* fonc);
56 OCC_SURFACE(OCC_SURFACE& mdd);
57 virtual ~OCC_SURFACE();
58 virtual void evaluer(double *uv,double *xyz);
59 virtual void deriver(double *uv,double *xyzdu, double *xyzdv);
60 virtual void deriver_seconde(double *uv,double* xyzduu,double* xyzduv,double* xyzdvv,double *xyz, double *xyzdu, double *xyzdv);
61 virtual void inverser(double *uv,double *xyz,double precision=1e-6);
62 virtual bool est_sur_surface(double *xyz,double precision=1e-6);
63 virtual int est_periodique_u(void);
64 virtual int est_periodique_v(void);
65 virtual double get_periode_u(void);
66 virtual double get_periode_v(void);
67 virtual void enregistrer(std::ostream& o,double version);
68 virtual int get_type_geometrique(TPL_LISTE_ENTITE<double> &param);
69 virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param);
70 virtual void get_liste_pole(std::vector<double> *liste_pole,double eps);
71
72
73
74
75 virtual void get_triangulation(class MG_MAILLAGE* mai,class MG_FACE* face,std::multimap<double,class MG_NOEUD*,std::less<double> >& tabnoeudfusm,double eps,int mode);
76
77 private:
78 TopoDS_Face face;
79 OCC_FONCTION* fonction1;
80 Handle(Geom_Surface) surface;
81
82 };
83 #endif
84 #endif