ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_arete.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: 3899 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_arete.h
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23     #ifndef __MGARETE_
24     #define __MGARETE_
25    
26     #ifdef WINDOWS_VERSION
27     #ifdef BUILT_DLL_GEOMETRIE
28     #define DLLPORTGEOMETRIE __declspec(dllexport)
29     #else
30     #define DLLPORTGEOMETRIE __declspec(dllimport)
31     #endif
32     #else
33     #define DLLPORTGEOMETRIE
34     #endif
35    
36    
37     #include <vector>
38     #include "tpl_liste_entite.h"
39     #include "mg_element_topologique.h"
40     #include "mg_courbe.h"
41     #include "mg_cosommet.h"
42     #include "mg_coarete.h"
43     #include "mg_segment.h"
44    
45     class DLLPORTGEOMETRIE MG_ARETE:public MG_ELEMENT_TOPOLOGIQUE
46     {
47     public:
48     MG_ARETE(std::string idori,unsigned long num,class MG_COSOMMET* mgcosom1,class MG_COSOMMET* mgcosom2,class MG_COURBE* crb,int sens);
49     MG_ARETE(std::string idori,class MG_COSOMMET* mgcosom1,class MG_COSOMMET* mgcosom2,class MG_COURBE* crb,int sens);
50     MG_ARETE(std::string idori,unsigned long num,class MG_COURBE* crb,int sens);
51     MG_ARETE(std::string idori,class MG_COURBE* crb,int sens);
52     MG_ARETE(MG_ARETE& mdd);
53     virtual ~MG_ARETE();
54    
55     virtual void changer_cosommet1(class MG_COSOMMET* cosom);
56     virtual void changer_cosommet2(class MG_COSOMMET* cosom);
57     virtual class MG_COSOMMET* get_cosommet1(void);
58     virtual class MG_COSOMMET* get_cosommet2(void);
59     virtual class MG_COURBE* get_courbe(void);
60     virtual int get_orientation(void);
61    
62     virtual void ajouter_mg_coarete(class MG_COARETE* coarete);
63     virtual void supprimer_mg_coarete(class MG_COARETE* coarete);
64     virtual int get_nb_mg_coarete(void);
65     virtual MG_COARETE* get_mg_coarete(int num);
66    
67 gervaislavoie 332 virtual TPL_LISTE_ENTITE<class MG_SEGMENT*>* get_lien_segment(void);
68 francois 283
69     virtual int get_dimension(void);
70 francois 763 virtual void enregistrer(std::ostream& o,double version);
71 francois 283 virtual void evaluer(double t,double *xyz);
72     virtual void deriver(double t,double *xyz) ;
73     virtual void deriver_seconde(double t,double *ddxyz,double* dxyz = NULL,double* xyz = NULL );
74     virtual void inverser(double& t,double *xyz,double precision=1e-6) ;
75     virtual double get_M(double t);
76     virtual double get_tmin(void);
77     virtual double get_tmax(void);
78     virtual double get_longueur(double t1,double t2,double precis=1e-6);
79     virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param);
80     double get_t(double t1,double t2,double lengh,double pas=0.001);
81     virtual VCT& get_vectorisation(void);
82     virtual void get_topologie_sousjacente(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *lst);
83 francois 576 virtual bool est_une_arete_element(void);
84 francois 604
85    
86     virtual void recupere_resultat(class FEM_SOLUTION* sol,int numchamps,char* fichier);
87 francois 283 private:
88     class MG_COSOMMET* cosommet1;
89     class MG_COSOMMET* cosommet2;
90     class MG_COURBE* courbe;
91     int orientation;
92     std::vector <class MG_COARETE*> lst_coarete;
93     TPL_LISTE_ENTITE<class MG_SEGMENT*> segment;
94     class VCT_ARETE* vect;
95 francois 652 void get_intersection(double t1, double t2,double* point_iners) ;
96    
97 francois 283 };
98    
99    
100    
101     #endif
102    
103