MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_element_topologique.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_element_topologique.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef __MGELEMENTTOPOLOGIQUE_
23 #define __MGELEMENTTOPOLOGIQUE_
24 
25 
26 
27 #include <vector>
28 #include "mg_identificateur.h"
29 #include "mg_element_maillage.h"
30 #include "fem_element_maillage.h"
31 #include "tpl_set.h"
32 #include "tpl_liste_entite.h"
33 #include "tpl_map_entite.h"
34 #include "mg_definition.h"
35 #include "ot_boite_3d.h"
36 #include "ot_parametres.h"
37 
38 class CCF
39 {
40 public:
42 std::string type;
43 std::string ccfformule;
44 std::vector<std::string> variables;
45 std::string effortsuiv;
46 double ccfvaleur;
47 };
48 
49 
50 
52 {
53 public:
54 
56 
57  MG_ELEMENT_TOPOLOGIQUE(std::string id);
58  MG_ELEMENT_TOPOLOGIQUE(unsigned long num,std::string id);
60  virtual ~MG_ELEMENT_TOPOLOGIQUE();
61 
62  virtual int get_dimension(void)=0;
63  virtual int get_type(void)=0;
64  virtual void enregistrer(std::ostream& o,double version)=0;
65  virtual void enregistrer_ccf(std::ostream& o,double version);
66  virtual void enregistrer_contraintes(std::ostream& o,double version);
67  virtual class VCT &get_vectorisation()=0;
70  virtual bool est_une_topo_element(void) = 0;
71  virtual BOITE_3D get_boite_3D(void)=0;
72 
75 
76  virtual void change_nouveau_numero(int num);
77  virtual int get_nouveau_numero(void);
78 
79  virtual char get_formulation_ccf(int num);
80  virtual int get_nb_ccf(void);
81  virtual void get_type_ccf(int num,char* nom);
82  virtual int get_num_ccf(char* nom);
83  virtual bool get_formulation_ccf(char* nom,char &c);
84  virtual bool get_valeur_ccf(char* nom,double &val);
85  virtual void change_type_ccf(int num,char* nom);
86  virtual double get_valeur_ccf(int num);
87  virtual std::string get_effort_suiv(int num);
88  virtual std::string get_formule_ccf(int num);
89  virtual unsigned long get_id_ccf(int num);
90 
91  virtual void change_formule_ccf(int num,std::string val);
92  virtual void change_id_ccf(int num,unsigned long val);
93 
94  virtual int get_formule_nb_variable(int num);
95  virtual std::string get_formule_variable(int num,int num2);
96  virtual void change_effort_suiv(int num,std::string suiv);
97 
98  virtual void change_valeur_ccf(int num,double val);
99  virtual void ajouter_ccf(char *nom,double val,std::string suiv="NS");
100  virtual void ajouter_ccf(char *nom,std::string formule,std::vector<std::string> &listvariable,std::string suiv="NS");
101  virtual void ajouter_ccf(char *nom,unsigned long id,std::string suiv="NS");
102  virtual void supprimer_ccf(int num);
103  virtual void transfert_ccf(MG_ELEMENT_TOPOLOGIQUE & a1);
104  virtual void copie_ccf(MG_ELEMENT_TOPOLOGIQUE & a1);
105 
106  virtual bool est_orthotrope_mecanique(void);
107 
108  virtual std::string get_idoriginal(void);
109  virtual void change_idoriginal(std::string id);
110 
113 
114  virtual void ajouter_contrainte(double val);
115  virtual int get_nb_contrainte(void);
116  virtual double get_contrainte(int i);
117 
118 protected:
122  std::string idoriginal;
124  std::vector<CCF> tabccf;
125  static int pas_echantillon;
126  static double epsilon_echantillon;
127  static double angle_dev_echantillon;
129  virtual void ini_param(void);
130  std::vector<double> contraintes;
131 };
132 
133 
134 
135 #endif
136 
double ccfvaleur
std::vector< std::string > variables
std::string ccfformule
std::string effortsuiv
std::string type
virtual int get_nouveau_numero(void)
virtual void enregistrer_contraintes(std::ostream &o, double version)
virtual std::string get_formule_ccf(int num)
virtual void change_effort_suiv(int num, std::string suiv)
virtual void ajouter_contrainte(double val)
virtual void transfert_ccf(MG_ELEMENT_TOPOLOGIQUE &a1)
virtual TPL_LISTE_ENTITE< FEM_ELEMENT_MAILLAGE * > * get_lien_fem_maillage(void)
virtual void change_id_ccf(int num, unsigned long val)
virtual void change_valeur_ccf(int num, double val)
virtual TPL_SET< MG_ELEMENT_MAILLAGE * > * get_lien_maillage(void)
std::vector< double > contraintes
virtual bool est_une_topo_element(void)=0
virtual int get_type(void)=0
MG_ELEMENT_TOPOLOGIQUE(std::string id)
virtual int get_num_ccf(char *nom)
virtual void enregistrer_ccf(std::ostream &o, double version)
virtual void get_topologie_sousjacente(TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lst)=0
static void change_pas_echantillon(int val)
virtual unsigned long get_id_ccf(int num)
virtual std::string get_formule_variable(int num, int num2)
static void restaure_pas_echantillon(void)
TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > lst_topo_sous_jacente
TPL_LISTE_ENTITE< FEM_ELEMENT_MAILLAGE * > lien_fem_maillage
virtual std::string get_idoriginal(void)
virtual void ajouter_ccf(char *nom, double val, std::string suiv="NS")
virtual class VCT & get_vectorisation()=0
virtual int est_topologie_sousjacente(MG_ELEMENT_TOPOLOGIQUE *ele)
virtual void change_formule_ccf(int num, std::string val)
virtual void change_idoriginal(std::string id)
virtual void enregistrer(std::ostream &o, double version)=0
virtual void change_nouveau_numero(int num)
virtual void copie_ccf(MG_ELEMENT_TOPOLOGIQUE &a1)
virtual bool get_valeur_ccf(char *nom, double &val)
virtual void change_type_ccf(int num, char *nom)
virtual std::string get_effort_suiv(int num)
virtual int get_formule_nb_variable(int num)
TPL_SET< MG_ELEMENT_MAILLAGE * > lien_maillage
virtual int get_dimension(void)=0
virtual char get_formulation_ccf(int num)
virtual BOITE_3D get_boite_3D(void)=0
virtual void get_type_ccf(int num, char *nom)
virtual double get_contrainte(int i)
virtual void supprimer_ccf(int num)
virtual bool est_orthotrope_mecanique(void)
Definition: vct.h:34