MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_forme_volume_sphere.cpp
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_sphere.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
23 #include "mg_cg_modele.h"
24 #include "mg_cg_operateur.h"
25 #include "mg_volume.h"
26 #include "mg_cg_info.h"
28  double centre_x, double centre_y, double centre_z,
29  double rayon): MG_CG_FORME_VOLUME(mgcg_modele,MG_CG_FORME::PROVENANCE_FORME::PRIMITIVE)
30 {
31  m_centre[0]=centre_x;
32  m_centre[1]=centre_y;
33  m_centre[2]=centre_z;
34  m_rayon=rayon;
35 }
36 
38  int etat,
39  long unsigned int num,
40  MG_VOLUME* mg_volume,
41  double centre_x,
42  double centre_y,
43  double centre_z,
44  double rayon): MG_CG_FORME_VOLUME(mgcg_modele,MG_CG_FORME::PROVENANCE_FORME::PRIMITIVE,etat,num,mg_volume)
45 {
46  m_centre[0]=centre_x;
47  m_centre[1]=centre_y;
48  m_centre[2]=centre_z;
49  m_rayon=rayon;
50 }
51 
53 {
54  m_centre[0]=mdd.m_centre[0];
55  m_centre[1]=mdd.m_centre[1];
56  m_centre[2]=mdd.m_centre[2];
57  m_rayon=mdd.m_rayon;
58 }
59 
61 {
62 
63 }
64 
66 {
68 }
69 
71 {
72  m_centre[0]=x;
73  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
74 }
75 
77 {
78  return m_centre[0];
79 }
80 
82 {
83  m_centre[1]=y;
84  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
85 }
86 
88 {
89  return m_centre[1];
90 }
91 
93 {
94  m_centre[2]=z;
95  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
96 }
97 
99 {
100  return m_centre[2];
101 }
102 
104 {
105  m_rayon=rayon;
106  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
107 }
108 
110 {
111  return m_rayon;
112 }
113 
114 void MG_CG_FORME_VOLUME_SPHERE::enregistrer(std::ostream& o, double version)
115 {
116  o << "%" << get_id()
117  << "=MG_CG_FORME_VOLUME_SPHERE("
118  << "$"<< m_mgcg_modele->get_id()
119  << "," << m_etat;
120  if(m_etat==MG_CG_FORME::ETAT_FORME::CONSTRUITE)
121  o << ",$"<< m_mg_volume->get_id();
122  else
123  o << ",$-1";
124  o << "," << m_centre[0]
125  << "," << m_centre[1]
126  << "," << m_centre[2]
127  << "," << m_rayon;
128  o << "," << get_nb_mgcg_operateur_dependant()
129  << ",(";
130  std::map<long,MG_CG_OPERATEUR*>::iterator it_op;
131  for(MG_CG_OPERATEUR* mgcg_op = get_premier_mgcg_operateur_dependant(it_op);mgcg_op!=NULL;mgcg_op=get_suivant_mgcg_operateur_dependant(it_op))
132  {
133  o << "$" << mgcg_op->get_id();
134  if(it_op!=--m_map_mgcg_operateur_dependant.end()) o << ",";
135  }
136  o << "));" << std::endl;
137  enregistrer_infos(o,version);
138 }
MG_CG_FORME_VOLUME_SPHERE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_cg_forme_volume_sphere.cpp:114
MG_CG_FORME_VOLUME_SPHERE::get_rayon
virtual double get_rayon(void)
Definition: mg_cg_forme_volume_sphere.cpp:109
MG_CG_FORME_VOLUME_SPHERE::get_centre_y
virtual double get_centre_y(void)
Definition: mg_cg_forme_volume_sphere.cpp:87
MG_CG_FORME_VOLUME_SPHERE::m_rayon
double m_rayon
Definition: mg_cg_forme_volume_sphere.h:63
MG_CG_FORME_VOLUME_SPHERE::MG_CG_FORME_VOLUME_SPHERE
MG_CG_FORME_VOLUME_SPHERE(MG_CG_MODELE *mgcg_modele, double centre_x, double centre_y, double centre_z, double rayon)
Definition: mg_cg_forme_volume_sphere.cpp:27
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
mg_cg_forme_volume_sphere.h
MG_CG_FORME_VOLUME_SPHERE::change_centre_x
virtual void change_centre_x(double x)
Definition: mg_cg_forme_volume_sphere.cpp:70
MG_CG_FORME::change_etat
virtual void change_etat(int etat_forme)
Definition: mg_cg_forme.cpp:81
MG_CG_FORME::get_premier_mgcg_operateur_dependant
virtual MG_CG_OPERATEUR * get_premier_mgcg_operateur_dependant(std::map< long, MG_CG_OPERATEUR * >::iterator &it)
Definition: mg_cg_forme.cpp:125
MG_VOLUME
Definition: mg_volume.h:33
MG_CG_FORME::m_map_mgcg_operateur_dependant
std::map< long, MG_CG_OPERATEUR * > m_map_mgcg_operateur_dependant
Definition: mg_cg_forme.h:89
MG_CG_FORME_VOLUME_SPHERE::change_centre_y
virtual void change_centre_y(double y)
Definition: mg_cg_forme_volume_sphere.cpp:81
mg_cg_operateur.h
MG_CG_FORME_VOLUME_SPHERE::get_centre_z
virtual double get_centre_z(void)
Definition: mg_cg_forme_volume_sphere.cpp:98
SPHERE
@ SPHERE
Definition: ve_definition.h:32
MG_CG_FORME
Definition: mg_cg_forme.h:41
MG_CG_OPERATEUR
Definition: mg_cg_operateur.h:34
MG_CG_FORME_VOLUME_SPHERE
Definition: mg_cg_forme_volume_sphere.h:36
MG_CG_FORME::m_mgcg_modele
MG_CG_MODELE * m_mgcg_modele
Definition: mg_cg_forme.h:87
MG_CG_FORME::PROVENANCE_FORME
PROVENANCE_FORME
Definition: mg_cg_forme.h:45
MG_CG_MODELE
Definition: mg_cg_modele.h:41
MG_CG_FORME_VOLUME_SPHERE::change_centre_z
virtual void change_centre_z(double z)
Definition: mg_cg_forme_volume_sphere.cpp:92
mg_cg_modele.h
MG_CG_FORME_VOLUME_SPHERE::get_type_forme_volume
virtual int get_type_forme_volume(void)
Definition: mg_cg_forme_volume_sphere.cpp:65
mg_cg_info.h
MG_CG_FORME::get_nb_mgcg_operateur_dependant
virtual long get_nb_mgcg_operateur_dependant(void)
Definition: mg_cg_forme.cpp:96
MG_CG_FORME::get_suivant_mgcg_operateur_dependant
virtual MG_CG_OPERATEUR * get_suivant_mgcg_operateur_dependant(std::map< long, MG_CG_OPERATEUR * >::iterator &it)
Definition: mg_cg_forme.cpp:133
MG_CG_FORME_VOLUME_SPHERE::m_centre
double m_centre[3]
Definition: mg_cg_forme_volume_sphere.h:62
MG_CG_FORME_VOLUME::m_mg_volume
MG_VOLUME * m_mg_volume
Definition: mg_cg_forme_volume.h:65
MG_CG_FORME_VOLUME_SPHERE::~MG_CG_FORME_VOLUME_SPHERE
virtual ~MG_CG_FORME_VOLUME_SPHERE()
Definition: mg_cg_forme_volume_sphere.cpp:60
MG_CG_FORME_VOLUME_SPHERE::get_centre_x
virtual double get_centre_x(void)
Definition: mg_cg_forme_volume_sphere.cpp:76
MG_CG_FORME_VOLUME
Definition: mg_cg_forme_volume.h:36
MG_CG_FORME_VOLUME_SPHERE::change_rayon
virtual void change_rayon(double rayon)
Definition: mg_cg_forme_volume_sphere.cpp:103
MG_CG_FORME::m_etat
int m_etat
Definition: mg_cg_forme.h:91
mg_volume.h