ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/mg_arete.h
Revision: 1180
Committed: Fri Sep 20 20:10:22 2024 UTC (10 months ago) by francois
Content type: text/plain
File size: 3698 byte(s)
Log Message:
Correction dans la quadratisation sans geometrie

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
2     //####//------------------------------------------------------------
3     //####// MAGiC
4     //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5     //####// Departement de Genie Mecanique - UQTR
6     //####//------------------------------------------------------------
7     //####// MAGIC est un projet de recherche de l equipe ERICCA
8     //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9     //####// http://www.uqtr.ca/ericca
10     //####// http://www.uqtr.ca/
11     //####//------------------------------------------------------------
12     //####//------------------------------------------------------------
13     //####//
14     //####// mg_arete.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:54 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283 #ifndef __MGARETE_
23     #define __MGARETE_
24    
25    
26    
27 francois 1158
28 francois 283 #include <vector>
29     #include "tpl_liste_entite.h"
30     #include "mg_element_topologique.h"
31     #include "mg_courbe.h"
32     #include "mg_cosommet.h"
33     #include "mg_coarete.h"
34     #include "mg_segment.h"
35    
36 francois 1158 class MG_ARETE:public MG_ELEMENT_TOPOLOGIQUE
37 francois 283 {
38     public:
39     MG_ARETE(std::string idori,unsigned long num,class MG_COSOMMET* mgcosom1,class MG_COSOMMET* mgcosom2,class MG_COURBE* crb,int sens);
40     MG_ARETE(std::string idori,class MG_COSOMMET* mgcosom1,class MG_COSOMMET* mgcosom2,class MG_COURBE* crb,int sens);
41     MG_ARETE(std::string idori,unsigned long num,class MG_COURBE* crb,int sens);
42     MG_ARETE(std::string idori,class MG_COURBE* crb,int sens);
43     MG_ARETE(MG_ARETE& mdd);
44     virtual ~MG_ARETE();
45    
46     virtual void changer_cosommet1(class MG_COSOMMET* cosom);
47     virtual void changer_cosommet2(class MG_COSOMMET* cosom);
48     virtual class MG_COSOMMET* get_cosommet1(void);
49     virtual class MG_COSOMMET* get_cosommet2(void);
50     virtual class MG_COURBE* get_courbe(void);
51     virtual int get_orientation(void);
52    
53     virtual void ajouter_mg_coarete(class MG_COARETE* coarete);
54     virtual void supprimer_mg_coarete(class MG_COARETE* coarete);
55     virtual int get_nb_mg_coarete(void);
56     virtual MG_COARETE* get_mg_coarete(int num);
57    
58 couturad 906 virtual int get_type(void);
59 francois 283 virtual int get_dimension(void);
60 francois 763 virtual void enregistrer(std::ostream& o,double version);
61 francois 283 virtual void evaluer(double t,double *xyz);
62     virtual void deriver(double t,double *xyz) ;
63     virtual void deriver_seconde(double t,double *ddxyz,double* dxyz = NULL,double* xyz = NULL );
64     virtual void inverser(double& t,double *xyz,double precision=1e-6) ;
65     virtual double get_M(double t);
66     virtual double get_tmin(void);
67     virtual double get_tmax(void);
68     virtual double get_longueur(double t1,double t2,double precis=1e-6);
69     virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param);
70     double get_t(double t1,double t2,double lengh,double pas=0.001);
71     virtual VCT& get_vectorisation(void);
72     virtual void get_topologie_sousjacente(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *lst);
73 francois 1180 virtual bool est_une_topo_element(void);
74 francois 604
75 francois 1095 virtual BOITE_3D get_boite_3D(void);
76 couturad 911
77 francois 604 virtual void recupere_resultat(class FEM_SOLUTION* sol,int numchamps,char* fichier);
78 couturad 906 protected:
79 francois 283 class MG_COSOMMET* cosommet1;
80     class MG_COSOMMET* cosommet2;
81     class MG_COURBE* courbe;
82     int orientation;
83     std::vector <class MG_COARETE*> lst_coarete;
84     class VCT_ARETE* vect;
85 francois 652 void get_intersection(double t1, double t2,double* point_iners) ;
86    
87 francois 283 };
88    
89    
90    
91     #endif
92    
93