ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/CAD4FE_PolySurface.h
Revision: 5
Committed: Tue Jun 12 20:26:34 2007 UTC (17 years, 11 months ago)
Content type: text/plain
Original Path: magic/lib/geometrie/geometrie/src/CAD4FE_PolySurface.h
File size: 2227 byte(s)
Log Message:

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     virtual void get_param_NURBS(TPL_LISTE_ENTITE<double> &param);
57     private:
58     // set of adjacent faces that define this PolySurface
59     std::set<MG_FACE*> _lst_ref_faces;
60     };
61     }
62    
63     #endif