ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_face.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: 3411 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 francois 283 //------------------------------------------------------------
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_face.h
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23     #ifndef __MGFACE_
24     #define __MGFACE_
25    
26    
27     #ifdef WINDOWS_VERSION
28     #ifdef BUILT_DLL_GEOMETRIE
29     #define DLLPORTGEOMETRIE __declspec(dllexport)
30     #else
31     #define DLLPORTGEOMETRIE __declspec(dllimport)
32     #endif
33     #else
34     #define DLLPORTGEOMETRIE
35     #endif
36    
37    
38     #include <vector>
39     #include "mg_element_topologique.h"
40     #include "mg_boucle.h"
41     #include "mg_surface.h"
42    
43     class DLLPORTGEOMETRIE MG_FACE:public MG_ELEMENT_TOPOLOGIQUE
44     {
45     public:
46     MG_FACE(std::string idori,unsigned long num,MG_SURFACE* srf,int sens);
47     MG_FACE(std::string idori,MG_SURFACE* srf,int sens);
48     MG_FACE(MG_FACE& mdd);
49     virtual ~MG_FACE();
50    
51     virtual void ajouter_mg_boucle(class MG_BOUCLE* mgbou);
52     virtual void supprimer_mg_boucle(class MG_BOUCLE* mgbou);
53     virtual int get_nb_mg_boucle(void);
54     virtual MG_BOUCLE* get_mg_boucle(int num);
55 francois 576 virtual bool est_une_face_element(void);
56 francois 283
57     virtual void ajouter_mg_coface(class MG_COFACE* coface);
58     virtual void supprimer_mg_coface(class MG_COFACE* coface);
59     virtual int get_nb_mg_coface(void);
60     virtual MG_COFACE* get_mg_coface(int num);
61     virtual VCT& get_vectorisation(void);
62     virtual MG_SURFACE* get_surface(void);
63     int get_orientation(void);
64     int valide_parametre_u(double& u);
65     int valide_parametre_v(double& v);
66     virtual void evaluer(double *uv,double *xyz) ;
67     virtual void deriver(double *uv,double *xyzdu, double *xyzdv);
68     virtual void deriver_seconde(double *uv,double* xyzduu,double* xyzduv,double* xyzdvv,double *xyz = NULL , double *xyzdu = NULL , double *xyzdv =NULL);
69     virtual void inverser(double *uv,double *xyz,double precision=1e-6) ;
70     virtual void calcul_normale(double *uv,double *normale);
71     virtual void calcul_normale_unitaire(double *uv,double *normale);
72     void get_EFG(double *uv,double& E,double& F,double &G);
73     void get_LMN(double *uv,double& L,double& M,double &N);
74     void get_M(double *uv,double& M1,double& M2,double& M3);
75     void get_courbure(double *uv,double& cmax,double& cmin);
76     virtual void get_topologie_sousjacente(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *lst);
77     virtual int get_dimension(void);
78 francois 632 virtual BOITE_3D get_boite_3D(int pas_echantillon);
79 francois 763 virtual void enregistrer(std::ostream& o,double version);
80 francois 283 private:
81     std::vector<MG_BOUCLE*> lst_boucle;
82     MG_SURFACE* surface;
83     std::vector<MG_COFACE*> lst_coface;
84     int orientation;
85     class VCT_FACE* vect;
86     };
87    
88    
89    
90     #endif
91    
92    
93