MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mstruct_generateur_rsa.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 //####// mstruct_generateur_rsa.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:57 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _MSTRUCT_GENERATEUR_RSA_
23 #define _MSTRUCT_GENERATEUR_RSA_
24 #include <vector>
25 #include "mg_cg_groupe_forme.h"
26 #include "mstruct_generateur.h"
27 #include "mg_cg_forme.h"
28 #include "mg_cg_forme_volume.h"
29 #include "mg_cg_operateur.h"
30 #include "tpl_grille.h"
31 #include "mg_volume.h"
32 #include "mg_arete.h"
33 #include "mstruct_ves.h"
34 #include "mg_cg_groupe_forme.h"
35 #include "mg_cg_info.h"
36 class MG_GESTIONNAIRE;
37 class MG_CG_MODELE;
38 
40 {
41 public:
42 
43  MSTRUCT_GENERATEUR_RSA(MG_GESTIONNAIRE* mg_gestionnaire,
44  char* nom_mgcg_modele);
45  MSTRUCT_GENERATEUR_RSA(MG_GESTIONNAIRE* mg_gestionnaire,
46  char* nom_mgcg_modele,
47  BOITE_3D boite3d_ves, BOITE_3D boite3d_distribution,
48  int nb_pas_x=20,int nb_pas_y=20,int nb_pas_z=20);
51  virtual int get_type(void);
52  void change_nb_iteration_max(long nb_iteration_max);
53 
54  double tirrage_aleatoire_sphere(std::string nom,
55  double mu_rayon,double sigma_rayon,int type_distribution_rayon,
56  double fraction_volumique_cible,double eps_frac_vol,
57  double &fraction_volumique_actuelle,
58  std::vector<double> *vector_epaisseur_couches=NULL,
59  bool porosite=false);
60 
61  double tirrage_aleatoire_cylindre(std::string nom,
62  double mu_rayon,double sigma_rayon,int type_distribution_rayon,
63  double mu_longueur,double sigma_longueur,int type_distribution_longueur,
64  double mu_theta,double sigma_theta,int type_distribution_theta,
65  double mu_phi,double sigma_phi,int type_distribution_phi,
66  double fraction_volumique_cible,double eps_frac_vol,
67  double &fraction_volumique_actuelle,
68  std::vector<double> *vector_epaisseur_couches=NULL,
69  bool porosite=false);
70  //----------------------------------------------------------------------------------------------
71  //================================================================================
72  //--------------with 2 angle-------------------------------
73  //==================================================================----------------------------
74  /* double tirrage_aleatoire_torus(std::__cxx11::string nom, double mu_rayon_cercle, double sigma_rayon_cercle, int type_distribution_rayon_cercle, double mu_rayon_tore, double sigma_rayon_tore, int type_distribution_rayon_tore, double mu_theta, double sigma_theta, int type_distribution_theta, double mu_phi, double sigma_phi, int type_distribution_phi, double mu_angle_begin, double sigma_angle_begin, int type_distribution_angle_begin, double mu_angle_end, double sigma_angle_end, int type_distribution_angle_end, double fraction_volumique_cible, double eps_frac_vol, double& fraction_volumique_actuelle, std::vector< double >* vector_epaisseur_couches, bool porosite = false);
75  */
76  //================================================================================
77  //--------------with 1 angle-------------------------------
78  //==================================================================
79 
80  double tirrage_aleatoire_torus(std::string nom, double mu_rayon_cercle, double sigma_rayon_cercle, int type_distribution_rayon_cercle, double mu_rayon_tore, double sigma_rayon_tore, int type_distribution_rayon_tore, double mu_theta, double sigma_theta, int type_distribution_theta, double mu_phi, double sigma_phi, int type_distribution_phi, double mu_angle_seg, double sigma_angle_seg, int type_distribution_angle_seg,double fraction_volumique_cible, double eps_frac_vol, double& fraction_volumique_actuelle, std::vector< double >* vector_epaisseur_couches, bool porosite = false);
81  //--------------------------------------------------------------------------------------------------
82  //----------------------------------------------------------------------------------------------------
83  double tirrage_aleatoire_ellipsoide(std::string nom,
84  double mu_rayon_majeur,double sigma_rayon_majeur,int type_distribution_rayon_majeur,
85  double mu_rayon_mineur,double sigma_rayon_mineur,int type_distribution_rayon_mineur,
86  double mu_theta,double sigma_theta,int type_distribution_theta,
87  double mu_phi,double sigma_phi,int type_distribution_phi,
88  double fraction_volumique_cible,double eps_frac_vol,
89  double &fraction_volumique_actuelle,
90  std::vector<double> *vector_epaisseur_couches=NULL,
91  bool porosite=false);
92 
93  virtual int construire(MSTRUCT_VES* ves);
94 protected:
96 };
97 
98 
99 #endif
MSTRUCT_GENERATEUR_RSA::~MSTRUCT_GENERATEUR_RSA
~MSTRUCT_GENERATEUR_RSA(void)
Definition: mstruct_generateur_rsa.cpp:93
mg_cg_forme.h
mg_cg_forme_volume.h
mstruct_ves.h
mg_cg_groupe_forme.h
MSTRUCT_GENERATEUR_RSA::tirrage_aleatoire_ellipsoide
double tirrage_aleatoire_ellipsoide(std::string nom, double mu_rayon_majeur, double sigma_rayon_majeur, int type_distribution_rayon_majeur, double mu_rayon_mineur, double sigma_rayon_mineur, int type_distribution_rayon_mineur, double mu_theta, double sigma_theta, int type_distribution_theta, double mu_phi, double sigma_phi, int type_distribution_phi, double fraction_volumique_cible, double eps_frac_vol, double &fraction_volumique_actuelle, std::vector< double > *vector_epaisseur_couches=NULL, bool porosite=false)
Definition: mstruct_generateur_rsa.cpp:691
MSTRUCT_GENERATEUR
Definition: mstruct_generateur.h:34
MSTRUCT_GENERATEUR_RSA::tirrage_aleatoire_torus
double tirrage_aleatoire_torus(std::string nom, double mu_rayon_cercle, double sigma_rayon_cercle, int type_distribution_rayon_cercle, double mu_rayon_tore, double sigma_rayon_tore, int type_distribution_rayon_tore, double mu_theta, double sigma_theta, int type_distribution_theta, double mu_phi, double sigma_phi, int type_distribution_phi, double mu_angle_seg, double sigma_angle_seg, int type_distribution_angle_seg, double fraction_volumique_cible, double eps_frac_vol, double &fraction_volumique_actuelle, std::vector< double > *vector_epaisseur_couches, bool porosite=false)
Definition: mstruct_generateur_rsa.cpp:332
MG_GESTIONNAIRE
Definition: mg_gestionnaire.h:57
mg_cg_operateur.h
MSTRUCT_GENERATEUR_RSA
Definition: mstruct_generateur_rsa.h:39
MSTRUCT_GENERATEUR_RSA::m_nb_iteration_max
long m_nb_iteration_max
Definition: mstruct_generateur_rsa.h:95
MSTRUCT_GENERATEUR_RSA::construire
virtual int construire(MSTRUCT_VES *ves)
Definition: mstruct_generateur_rsa.cpp:809
tpl_grille.h
MG_CG_MODELE
Definition: mg_cg_modele.h:41
MSTRUCT_GENERATEUR_RSA::tirrage_aleatoire_cylindre
double tirrage_aleatoire_cylindre(std::string nom, double mu_rayon, double sigma_rayon, int type_distribution_rayon, double mu_longueur, double sigma_longueur, int type_distribution_longueur, double mu_theta, double sigma_theta, int type_distribution_theta, double mu_phi, double sigma_phi, int type_distribution_phi, double fraction_volumique_cible, double eps_frac_vol, double &fraction_volumique_actuelle, std::vector< double > *vector_epaisseur_couches=NULL, bool porosite=false)
Definition: mstruct_generateur_rsa.cpp:206
mstruct_generateur.h
mg_arete.h
MSTRUCT_GENERATEUR_RSA::change_nb_iteration_max
void change_nb_iteration_max(long nb_iteration_max)
Definition: mstruct_generateur_rsa.cpp:104
MSTRUCT_VES
Definition: mstruct_ves.h:45
BOITE_3D
Definition: ot_boite_3d.h:27
mg_cg_info.h
MSTRUCT_GENERATEUR_RSA::tirrage_aleatoire_sphere
double tirrage_aleatoire_sphere(std::string nom, double mu_rayon, double sigma_rayon, int type_distribution_rayon, double fraction_volumique_cible, double eps_frac_vol, double &fraction_volumique_actuelle, std::vector< double > *vector_epaisseur_couches=NULL, bool porosite=false)
Definition: mstruct_generateur_rsa.cpp:112
MSTRUCT_GENERATEUR_RSA::get_type
virtual int get_type(void)
Definition: mstruct_generateur_rsa.cpp:97
MSTRUCT_GENERATEUR_RSA::MSTRUCT_GENERATEUR_RSA
MSTRUCT_GENERATEUR_RSA(MG_GESTIONNAIRE *mg_gestionnaire, char *nom_mgcg_modele)
Definition: mstruct_generateur_rsa.cpp:52
mg_volume.h