ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/CAD4FE_PolySurface.h
Revision: 763
Committed: Wed Dec 2 19:55:53 2015 UTC (9 years, 5 months ago) by francois
Content type: text/plain
File size: 2599 byte(s)
Log Message:
Le fichier MAGiC est maintenant versionné. LA version actuelle est 2.0. L'ancienne version est 1.0.
Tout est transparent pour l'utilisateur. Les vieilles versions sont lisibles mais les nouveaux enregistrements sont dans la version la plus récente.
Changement des conditions aux limites : ajout d'un parametre pour dire si la condition numerique est une valeur ou une formule ou un lien vers une autre entité magic.
Les parametres pour saisir sont maintenant -ccf -ccfi -ccff -ccft -ccfit -ccfft

File Contents

# User Rev Content
1 foucault 27 //---------------------------------------------------------------------------
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 foucault 569 // include STL headers
13 foucault 27 //---------------------------------------------------------------------------
14     #include <map>
15     #include <ostream>
16     #include <string>
17     #include <set>
18     //---------------------------------------------------------------------------
19    
20    
21     #ifdef WINDOWS_VERSION
22 foucault 569 #ifdef BUILT_DLL_GEOMETRIE
23     #define DLLPORTGEOMETRIE __declspec(dllexport)
24     #else
25     #define DLLPORTGEOMETRIE __declspec(dllimport)
26     #endif
27 foucault 27 #else
28 foucault 569 #define DLLPORTGEOMETRIE
29 foucault 27 #endif
30    
31     class OT_VECTEUR_3D;
32    
33     namespace CAD4FE {
34    
35 foucault 569 class MCVertex;
36 foucault 27
37     class DLLPORTGEOMETRIE PolySurface : public MG_SURFACE
38     {
39     public:
40 foucault 569 PolySurface(){};
41     PolySurface(MG_FACE *);
42     void InsertSurface(MG_FACE *);
43     void Merge( PolySurface &);
44     bool Contains(MG_FACE * __refFace);
45     bool Contains(MG_ARETE * __refEdge);
46     MG_FACE * GetRefFace(unsigned int __index);
47     std::set<MG_FACE*> & GetRefFaces();
48     unsigned int GetRefFaceCount() ;
49 foucault 27
50 foucault 569 virtual void evaluer(double *uv,double *xyz);
51     virtual void deriver(double *uv,double *xyzdu, double *xyzdv);
52     virtual void deriver_seconde(double *uv,double* xyzduu,double* xyzduv,double* xyzdvv,double *xyz = NULL , double *xyzdu = NULL , double *xyzdv =NULL);
53     virtual void inverser(double *uv,double *xyz,double precision=1e-6);
54     virtual int est_periodique_u(void);
55     virtual int est_periodique_v(void);
56     virtual double get_periode_u(void);
57     virtual double get_periode_v(void);
58 foucault 27
59 francois 763 virtual void enregistrer(std::ostream& o,double version);
60 foucault 569 virtual int get_type_geometrique(TPL_LISTE_ENTITE<double> &param);
61     void calcul_normale_unitaire(MG_SOMMET *v, double __n[3], int * __nbRefFace);
62     void calcul_normale_unitaire(MCVertex * __mcVertex, double __n[3], int *__nbRefFace);
63     void calcul_normale_unitaire(const std::map<MG_FACE *, OT_VECTEUR_3D > & __tabRefFaceUV, double __n[3], int *__nbRefFace);
64     virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param);
65 foucault 27 private:
66 foucault 569 // set of adjacent faces that define this PolySurface
67     std::set<MG_FACE*> _lst_ref_faces;
68 foucault 27 };
69     }
70    
71     #endif