MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_arete.h
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
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 #ifndef __MGARETE_
23 #define __MGARETE_
24 
25 
26 
27 
28 #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 
37 {
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  virtual int get_type(void);
59  virtual int get_dimension(void);
60  virtual void enregistrer(std::ostream& o,double version);
61  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);
73  virtual bool est_une_topo_element(void);
74 
75  virtual BOITE_3D get_boite_3D(void);
76 
77  virtual void recupere_resultat(class FEM_SOLUTION* sol,int numchamps,char* fichier);
78 protected:
81  class MG_COURBE* courbe;
83  std::vector <class MG_COARETE*> lst_coarete;
84  class VCT_ARETE* vect;
85  void get_intersection(double t1, double t2,double* point_iners) ;
86 
87 };
88 
89 
90 
91 #endif
92 
93 
double get_t(double t1, double t2, double lengh, double pas=0.001)
Definition: mg_arete.cpp:575
virtual bool est_une_topo_element(void)
Definition: mg_arete.cpp:111
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_arete.cpp:251
virtual VCT & get_vectorisation(void)
Definition: mg_arete.cpp:245
virtual double get_tmax(void)
Definition: mg_arete.cpp:184
MG_ARETE(std::string idori, unsigned long num, class MG_COSOMMET *mgcosom1, class MG_COSOMMET *mgcosom2, class MG_COURBE *crb, int sens)
Definition: mg_arete.cpp:35
virtual int get_orientation(void)
Definition: mg_arete.cpp:93
int orientation
Definition: mg_arete.h:82
virtual void changer_cosommet1(class MG_COSOMMET *cosom)
Definition: mg_arete.cpp:73
class MG_COURBE * courbe
Definition: mg_arete.h:81
virtual double get_tmin(void)
Definition: mg_arete.cpp:179
virtual void deriver_seconde(double t, double *ddxyz, double *dxyz=NULL, double *xyz=NULL)
Definition: mg_arete.cpp:161
void get_intersection(double t1, double t2, double *point_iners)
Definition: mg_arete.cpp:276
virtual void deriver(double t, double *xyz)
Definition: mg_arete.cpp:149
virtual void evaluer(double t, double *xyz)
Definition: mg_arete.cpp:143
virtual int get_dimension(void)
Definition: mg_arete.cpp:239
virtual class MG_COURBE * get_courbe(void)
Definition: mg_arete.cpp:89
std::vector< class MG_COARETE * > lst_coarete
Definition: mg_arete.h:83
class VCT_ARETE * vect
Definition: mg_arete.h:84
class MG_COSOMMET * cosommet2
Definition: mg_arete.h:80
virtual int get_type(void)
Definition: mg_arete.cpp:233
virtual void get_topologie_sousjacente(TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lst)
Definition: mg_arete.cpp:57
virtual void supprimer_mg_coarete(class MG_COARETE *coarete)
Definition: mg_arete.cpp:213
virtual double get_M(double t)
Definition: mg_arete.cpp:205
virtual void ajouter_mg_coarete(class MG_COARETE *coarete)
Definition: mg_arete.cpp:101
virtual void changer_cosommet2(class MG_COSOMMET *cosom)
Definition: mg_arete.cpp:77
virtual void get_param_NURBS(int &indx_premier_ptctr, TPL_LISTE_ENTITE< double > &param)
Definition: mg_arete.cpp:361
virtual MG_COARETE * get_mg_coarete(int num)
Definition: mg_arete.cpp:228
virtual void recupere_resultat(class FEM_SOLUTION *sol, int numchamps, char *fichier)
Definition: mg_arete.cpp:616
virtual ~MG_ARETE()
Definition: mg_arete.cpp:67
virtual class MG_COSOMMET * get_cosommet2(void)
Definition: mg_arete.cpp:85
virtual double get_longueur(double t1, double t2, double precis=1e-6)
Definition: mg_arete.cpp:193
virtual class MG_COSOMMET * get_cosommet1(void)
Definition: mg_arete.cpp:81
virtual BOITE_3D get_boite_3D(void)
Definition: mg_arete.cpp:116
class MG_COSOMMET * cosommet1
Definition: mg_arete.h:79
virtual int get_nb_mg_coarete(void)
Definition: mg_arete.cpp:106
virtual void inverser(double &t, double *xyz, double precision=1e-6)
Definition: mg_arete.cpp:173
Definition: vct.h:34