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 
MG_ARETE::changer_cosommet2
virtual void changer_cosommet2(class MG_COSOMMET *cosom)
Definition: mg_arete.cpp:77
MG_ARETE::get_cosommet2
virtual class MG_COSOMMET * get_cosommet2(void)
Definition: mg_arete.cpp:85
FEM_SOLUTION
Definition: fem_solution.h:40
MG_ARETE::get_param_NURBS
virtual void get_param_NURBS(int &indx_premier_ptctr, TPL_LISTE_ENTITE< double > &param)
Definition: mg_arete.cpp:361
TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * >
MG_ARETE::evaluer
virtual void evaluer(double t, double *xyz)
Definition: mg_arete.cpp:143
MG_COSOMMET
Definition: mg_cosommet.h:31
MG_COARETE
Definition: mg_coarete.h:31
MG_ARETE::est_une_topo_element
virtual bool est_une_topo_element(void)
Definition: mg_arete.cpp:111
MG_ARETE::get_orientation
virtual int get_orientation(void)
Definition: mg_arete.cpp:93
MG_ARETE::supprimer_mg_coarete
virtual void supprimer_mg_coarete(class MG_COARETE *coarete)
Definition: mg_arete.cpp:213
MG_ARETE::cosommet2
class MG_COSOMMET * cosommet2
Definition: mg_arete.h:80
MG_COURBE
Definition: mg_courbe.h:30
MG_ARETE::get_tmin
virtual double get_tmin(void)
Definition: mg_arete.cpp:179
MG_ARETE::vect
class VCT_ARETE * vect
Definition: mg_arete.h:84
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
MG_ARETE::inverser
virtual void inverser(double &t, double *xyz, double precision=1e-6)
Definition: mg_arete.cpp:173
mg_courbe.h
MG_ARETE::get_topologie_sousjacente
virtual void get_topologie_sousjacente(TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lst)
Definition: mg_arete.cpp:57
MG_ARETE::~MG_ARETE
virtual ~MG_ARETE()
Definition: mg_arete.cpp:67
MG_ARETE::get_nb_mg_coarete
virtual int get_nb_mg_coarete(void)
Definition: mg_arete.cpp:106
MG_ARETE::courbe
class MG_COURBE * courbe
Definition: mg_arete.h:81
MG_ARETE::get_dimension
virtual int get_dimension(void)
Definition: mg_arete.cpp:239
mg_segment.h
MG_ARETE::get_vectorisation
virtual VCT & get_vectorisation(void)
Definition: mg_arete.cpp:245
MG_ARETE::MG_ARETE
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
MG_ARETE::ajouter_mg_coarete
virtual void ajouter_mg_coarete(class MG_COARETE *coarete)
Definition: mg_arete.cpp:101
MG_ARETE::get_type
virtual int get_type(void)
Definition: mg_arete.cpp:233
MG_ARETE::get_t
double get_t(double t1, double t2, double lengh, double pas=0.001)
Definition: mg_arete.cpp:575
MG_ARETE::get_M
virtual double get_M(double t)
Definition: mg_arete.cpp:205
mg_coarete.h
BOITE_3D
Definition: ot_boite_3d.h:27
VCT_ARETE
Definition: vct_arete.h:39
MG_ARETE::get_boite_3D
virtual BOITE_3D get_boite_3D(void)
Definition: mg_arete.cpp:116
mg_element_topologique.h
MG_ARETE::get_courbe
virtual class MG_COURBE * get_courbe(void)
Definition: mg_arete.cpp:89
MG_ARETE::lst_coarete
std::vector< class MG_COARETE * > lst_coarete
Definition: mg_arete.h:83
mg_cosommet.h
MG_ARETE::changer_cosommet1
virtual void changer_cosommet1(class MG_COSOMMET *cosom)
Definition: mg_arete.cpp:73
MG_ARETE::orientation
int orientation
Definition: mg_arete.h:82
TPL_LISTE_ENTITE< double >
MG_ARETE::deriver
virtual void deriver(double t, double *xyz)
Definition: mg_arete.cpp:149
MG_ARETE
Definition: mg_arete.h:36
MG_ARETE::recupere_resultat
virtual void recupere_resultat(class FEM_SOLUTION *sol, int numchamps, char *fichier)
Definition: mg_arete.cpp:616
MG_ARETE::cosommet1
class MG_COSOMMET * cosommet1
Definition: mg_arete.h:79
MG_ARETE::get_cosommet1
virtual class MG_COSOMMET * get_cosommet1(void)
Definition: mg_arete.cpp:81
MG_ARETE::get_longueur
virtual double get_longueur(double t1, double t2, double precis=1e-6)
Definition: mg_arete.cpp:193
MG_ARETE::get_intersection
void get_intersection(double t1, double t2, double *point_iners)
Definition: mg_arete.cpp:276
tpl_liste_entite.h
MG_ARETE::deriver_seconde
virtual void deriver_seconde(double t, double *ddxyz, double *dxyz=NULL, double *xyz=NULL)
Definition: mg_arete.cpp:161
VCT
Definition: vct.h:33
MG_ARETE::get_tmax
virtual double get_tmax(void)
Definition: mg_arete.cpp:184
MG_ARETE::get_mg_coarete
virtual MG_COARETE * get_mg_coarete(int num)
Definition: mg_arete.cpp:228
MG_ARETE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_arete.cpp:251