MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_forme_volume_tore.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_cg_forme_volume_tore.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _MG_CG_FORME_VOLUME_TORE_
23 #define _MG_CG_FORME_VOLUME_TORE_
24 
25 
26 
27 #include <map>
28 
29 #include "mg_cg_forme_volume.h"
30 
31 class MG_GEOMETRIE;
32 class MG_CG_MODELE;
33 class MG_CG_FORME;
34 class MG_VOLUME;
35 
37 {
38 public:
39 
40  //--------------with 1 angle-------------------------------
41  //==================================================================
43  double centre_x,
44  double centre_y,
45  double centre_z,
46  double direction_x,
47  double direction_y,
48  double direction_z,
49  double rayon_cercle,
50  double rayon_tore,
51  double angle_seg,
52  double angle_rotation
53  );
54 
56  int etat,
57  unsigned long num,
58  MG_VOLUME* mg_volume,
59  double centre_x,
60  double centre_y,
61  double centre_z,
62  double direction_x,
63  double direction_y,
64  double direction_z,
65  double rayon_cercle,
66  double rayon_tore,
67  double angle_seg,
68  double angle_rotation
69  );
70 
71  //==================================================================
72  //-------------------with 2 angles-------------------------------
73 
74  /* MG_CG_FORME_VOLUME_TORE(MG_CG_MODELE* mgcg_modele,
75  double centre_x,
76  double centre_y,
77  double centre_z,
78  double direction_x,
79  double direction_y,
80  double direction_z,
81  double rayon_cercle,
82  double rayon_tore,
83  double angle_begin,
84  double angle_end
85  );
86 
87  MG_CG_FORME_VOLUME_TORE(MG_CG_MODELE* mgcg_modele,
88  int etat,
89  unsigned long num,
90  MG_VOLUME* mg_volume,
91  double centre_x,
92  double centre_y,
93  double centre_z,
94  double direction_x,
95  double direction_y,
96  double direction_z,
97  double rayon_cercle,
98  double rayon_tore,
99  double angle_begin,
100  double angle_end
101  );*/
102  //===========================================================================
103 
105  virtual ~MG_CG_FORME_VOLUME_TORE();
106 
107  virtual int get_type_forme_volume(void);
108  virtual void change_centre_x(double x);
109  virtual double get_centre_x(void);
110  virtual void change_centre_y(double y);
111  virtual double get_centre_y(void);
112  virtual void change_centre_z(double z);
113  virtual double get_centre_z(void);
114  virtual void change_direction_x(double x);
115  virtual double get_direction_x(void);
116  virtual void change_direction_y(double y);
117  virtual double get_direction_y(void);
118  virtual void change_direction_z(double z);
119  virtual double get_direction_z(void);
120  virtual void change_rayon_cercle(double rayon_cercle);
121  virtual double get_rayon_cercle(void);
122  virtual void change_rayon_tore(double rayon_tore);
123  virtual double get_rayon_tore(void);
124 
125  //--------------with 1 angle-------------------------------
126  //==================================================================
127  //====================================================================
128  virtual void change_angle_seg(double angle_seg);
129  virtual double get_angle_seg(void);
130 
131  virtual void change_angle_rotation(double angle_rotation);
132  virtual double get_angle_rotation(void);
133 
134  //==================================================================
135  //-------------------with 2 angles-------------------------------
136 
137  // virtual void change_angle_begin(double angle_begin);
138  // virtual double get_angle_begin(void);
139 
140  // virtual void change_angle_end(double angle_end);
141  // virtual double get_angle_end(void);
142  //==========================================================
143 
144  virtual void enregistrer(std::ostream& o,double version);
145  virtual int construire(void)=0;
146  virtual int construire(bool fusionner_entite_similaire,
147  double precision,
148  bool importer_triangulation,
149  double epsilon_triangulation)=0;
150 protected:
151  double m_centre[3];
152  double m_direction[3];
154  double m_rayon_tore;
155 
156  //--------------with 1 angle-------------------------------
157  //==================================================================
158 
159  double m_angle_seg;
161 
162 
163  //-------------------with 2 angles-------------------------------
164  //====================================================================
165  // double m_angle_begin;
166  //double m_angle_end;
167 };
168 
169 
170 #endif
MG_CG_FORME_VOLUME_TORE::get_direction_z
virtual double get_direction_z(void)
Definition: mg_cg_forme_volume_tore.cpp:241
MG_CG_FORME_VOLUME_TORE::m_centre
double m_centre[3]
Definition: mg_cg_forme_volume_tore.h:151
MG_CG_FORME_VOLUME_TORE::change_centre_y
virtual void change_centre_y(double y)
Definition: mg_cg_forme_volume_tore.cpp:191
MG_CG_FORME_VOLUME_TORE::get_direction_x
virtual double get_direction_x(void)
Definition: mg_cg_forme_volume_tore.cpp:219
mg_cg_forme_volume.h
MG_CG_FORME_VOLUME_TORE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_cg_forme_volume_tore.cpp:317
MG_CG_FORME_VOLUME_TORE::MG_CG_FORME_VOLUME_TORE
MG_CG_FORME_VOLUME_TORE(MG_CG_MODELE *mgcg_modele, double centre_x, double centre_y, double centre_z, double direction_x, double direction_y, double direction_z, double rayon_cercle, double rayon_tore, double angle_seg, double angle_rotation)
Definition: mg_cg_forme_volume_tore.cpp:29
MG_CG_FORME_VOLUME_TORE::change_centre_x
virtual void change_centre_x(double x)
Definition: mg_cg_forme_volume_tore.cpp:180
MG_CG_FORME_VOLUME_TORE::get_direction_y
virtual double get_direction_y(void)
Definition: mg_cg_forme_volume_tore.cpp:230
MG_CG_FORME_VOLUME_TORE::get_rayon_cercle
virtual double get_rayon_cercle(void)
Definition: mg_cg_forme_volume_tore.cpp:252
MG_CG_FORME_VOLUME_TORE::get_rayon_tore
virtual double get_rayon_tore(void)
Definition: mg_cg_forme_volume_tore.cpp:263
MG_CG_FORME_VOLUME_TORE::change_direction_y
virtual void change_direction_y(double y)
Definition: mg_cg_forme_volume_tore.cpp:224
MG_CG_FORME_VOLUME_TORE::~MG_CG_FORME_VOLUME_TORE
virtual ~MG_CG_FORME_VOLUME_TORE()
Definition: mg_cg_forme_volume_tore.cpp:170
MG_VOLUME
Definition: mg_volume.h:33
MG_CG_FORME_VOLUME_TORE::m_angle_seg
double m_angle_seg
Definition: mg_cg_forme_volume_tore.h:159
MG_CG_FORME_VOLUME_TORE::change_direction_x
virtual void change_direction_x(double x)
Definition: mg_cg_forme_volume_tore.cpp:213
MG_CG_FORME_VOLUME_TORE::change_rayon_cercle
virtual void change_rayon_cercle(double rayon_cercle)
Definition: mg_cg_forme_volume_tore.cpp:246
MG_CG_FORME_VOLUME_TORE::m_rayon_tore
double m_rayon_tore
Definition: mg_cg_forme_volume_tore.h:154
MG_CG_FORME_VOLUME_TORE::get_angle_rotation
virtual double get_angle_rotation(void)
Definition: mg_cg_forme_volume_tore.cpp:287
MG_CG_FORME
Definition: mg_cg_forme.h:41
MG_CG_FORME_VOLUME_TORE::get_centre_x
virtual double get_centre_x(void)
Definition: mg_cg_forme_volume_tore.cpp:186
MG_CG_FORME_VOLUME_TORE::change_angle_seg
virtual void change_angle_seg(double angle_seg)
Definition: mg_cg_forme_volume_tore.cpp:269
MG_CG_FORME_VOLUME_TORE::m_rayon_cercle
double m_rayon_cercle
Definition: mg_cg_forme_volume_tore.h:153
MG_CG_FORME_VOLUME_TORE::change_centre_z
virtual void change_centre_z(double z)
Definition: mg_cg_forme_volume_tore.cpp:202
MG_CG_FORME_VOLUME_TORE::get_type_forme_volume
virtual int get_type_forme_volume(void)
Definition: mg_cg_forme_volume_tore.cpp:175
MG_CG_MODELE
Definition: mg_cg_modele.h:41
MG_CG_FORME_VOLUME_TORE::get_centre_z
virtual double get_centre_z(void)
Definition: mg_cg_forme_volume_tore.cpp:208
MG_CG_FORME_VOLUME_TORE::change_angle_rotation
virtual void change_angle_rotation(double angle_rotation)
Definition: mg_cg_forme_volume_tore.cpp:281
MG_CG_FORME_VOLUME_TORE::m_angle_rotation
double m_angle_rotation
Definition: mg_cg_forme_volume_tore.h:160
MG_CG_FORME_VOLUME_TORE::change_rayon_tore
virtual void change_rayon_tore(double rayon_tore)
Definition: mg_cg_forme_volume_tore.cpp:257
MG_CG_FORME_VOLUME_TORE
Definition: mg_cg_forme_volume_tore.h:36
MG_GEOMETRIE
Definition: mg_geometrie.h:84
MG_CG_FORME_VOLUME_TORE::construire
virtual int construire(void)=0
MG_CG_FORME_VOLUME_TORE::get_centre_y
virtual double get_centre_y(void)
Definition: mg_cg_forme_volume_tore.cpp:197
MG_CG_FORME_VOLUME_TORE::get_angle_seg
virtual double get_angle_seg(void)
Definition: mg_cg_forme_volume_tore.cpp:275
MG_CG_FORME_VOLUME_TORE::change_direction_z
virtual void change_direction_z(double z)
Definition: mg_cg_forme_volume_tore.cpp:235
MG_CG_FORME_VOLUME
Definition: mg_cg_forme_volume.h:36
MG_CG_FORME_VOLUME_TORE::m_direction
double m_direction[3]
Definition: mg_cg_forme_volume_tore.h:152