ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/CAD4FE_PolySurface.h
Revision: 19
Committed: Wed Jun 20 17:47:45 2007 UTC (17 years, 10 months ago) by francois
Content type: text/plain
Original Path: magic/lib/geometrie/geometrie/src/CAD4FE_PolySurface.h
File size: 2251 byte(s)
Log Message:
ajout d'un index dans les param NURBS

File Contents

# User Rev Content
1 5 //---------------------------------------------------------------------------
2    
3     #ifndef CAD4FE_PolySurfaceH
4     #define CAD4FE_PolySurfaceH
5    
6     //---------------------------------------------------------------------------
7     // include MAGIC Headers
8     #include "mg_geometrie.h"
9     #include "mg_face.h"
10    
11     //---------------------------------------------------------------------------
12     // include STL headers
13     //---------------------------------------------------------------------------
14     #include <map>
15     #include <ostream>
16     #include <string>
17     #include <set>
18     //---------------------------------------------------------------------------
19    
20    
21     #ifdef WINDOWS_VERSION
22     #ifdef BUILT_DLL_GEOMETRIE
23     #define DLLPORTGEOMETRIE __declspec(dllexport)
24     #else
25     #define DLLPORTGEOMETRIE __declspec(dllimport)
26     #endif
27     #else
28     #define DLLPORTGEOMETRIE
29     #endif
30    
31     namespace CAD4FE {
32    
33     class DLLPORTGEOMETRIE PolySurface : public MG_SURFACE
34     {
35     public:
36     PolySurface(){};
37     PolySurface(MG_FACE *);
38     void InsertSurface(MG_FACE *);
39     void Merge( PolySurface &);
40     bool Contains(MG_FACE * __refFace);
41     MG_FACE * GetRefFace(unsigned int __index);
42     std::set<MG_FACE*> & GetRefFaces();
43     unsigned int GetRefFaceCount() ;
44    
45     virtual void evaluer(double *uv,double *xyz);
46     virtual void deriver(double *uv,double *xyzdu, double *xyzdv);
47     virtual void deriver_seconde(double *uv,double* xyzduu,double* xyzduv,double* xyzdvv,double *xyz = NULL , double *xyzdu = NULL , double *xyzdv =NULL);
48     virtual void inverser(double *uv,double *xyz,double precision=1e-6);
49     virtual int est_periodique_u(void);
50     virtual int est_periodique_v(void);
51     virtual double get_periode_u(void);
52     virtual double get_periode_v(void);
53    
54     virtual void enregistrer(std::ostream& o);
55     virtual int get_type_geometrique(TPL_LISTE_ENTITE<double> &param);
56 francois 19 virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param);
57 5 private:
58     // set of adjacent faces that define this PolySurface
59     std::set<MG_FACE*> _lst_ref_faces;
60     };
61     }
62    
63     #endif