MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_forme_volume_boite.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_boite.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"
27 
29  double x1, double y1, double z1,
30  double x2, double y2, double z2): MG_CG_FORME_VOLUME(mgcg_modele,MG_CG_FORME::PROVENANCE_FORME::PRIMITIVE)
31 {
32  m_coin1[0]=x1; m_coin1[1]=y1; m_coin1[2]=z1;
33  m_coin2[0]=x2; m_coin2[1]=y2; m_coin2[2]=z2;
34 }
35 
37  int etat,
38  long unsigned int num,
39  MG_VOLUME* mg_volume,
40  double x1, double y1, double z1,
41  double x2, double y2, double z2): MG_CG_FORME_VOLUME(mgcg_modele,MG_CG_FORME::PROVENANCE_FORME::PRIMITIVE,etat,num,mg_volume)
42 {
43  m_coin1[0]=x1; m_coin1[1]=y1; m_coin1[2]=z1;
44  m_coin2[0]=x2; m_coin2[1]=y2; m_coin2[2]=z2;
45 }
46 
48 {
49  m_coin1[0]=mdd.m_coin1[0]; m_coin1[1]=mdd.m_coin1[1]; m_coin1[2]=mdd.m_coin1[2];
50  m_coin2[0]=mdd.m_coin2[0]; m_coin2[1]=mdd.m_coin2[1]; m_coin2[2]=mdd.m_coin2[2];
51 }
52 
54 {
55 
56 }
57 
58 void MG_CG_FORME_VOLUME_BOITE::enregistrer(std::ostream& o, double version)
59 {
60  o << "%" << get_id()
61  << "=MG_CG_FORME_VOLUME_BOITE("
62  << "$"<< m_mgcg_modele->get_id()
63  << "," << m_etat;
64  if(m_etat==MG_CG_FORME::ETAT_FORME::CONSTRUITE)
65  o << ",$"<< m_mg_volume->get_id();
66  else
67  o << ",$-1";
68  o << "," << m_coin1[0]
69  << "," << m_coin1[1]
70  << "," << m_coin1[2]
71  << "," << m_coin2[0]
72  << "," << m_coin2[1]
73  << "," << m_coin2[2];
74  o << "," << get_nb_mgcg_operateur_dependant()
75  << ",(";
76  std::map<long,MG_CG_OPERATEUR*>::iterator it_op;
77  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))
78  {
79  o << "$" << mgcg_op->get_id();
80  if(it_op!=--m_map_mgcg_operateur_dependant.end()) o << ",";
81  }
82  o << "));" << std::endl;
83  enregistrer_infos(o,version);
84 }
85 
87 {
89 }
90 
92 {
93  return m_coin1;
94 }
95 
97 {
98  return m_coin2;
99 }
100 
102 {
103  m_coin1[0]=val;
104  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
105 }
107 {
108  m_coin1[1]=val;
109  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
110 }
112 {
113  m_coin1[2]=val;
114  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
115 }
117 {
118  m_coin2[0]=val;
119  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
120 }
122 {
123  m_coin2[1]=val;
124  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
125 }
127 {
128  m_coin2[2]=val;
129  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
130 }
131 
132 
133 
MG_CG_FORME_VOLUME_BOITE::get_type_forme_volume
virtual int get_type_forme_volume(void)
Definition: mg_cg_forme_volume_boite.cpp:86
MG_CG_FORME_VOLUME_BOITE::change_y1
void change_y1(double val)
Definition: mg_cg_forme_volume_boite.cpp:106
mg_cg_forme_volume_boite.h
MG_CG_FORME_VOLUME_BOITE::get_coin1
double * get_coin1(void)
Definition: mg_cg_forme_volume_boite.cpp:91
MG_CG_FORME_VOLUME_BOITE::~MG_CG_FORME_VOLUME_BOITE
virtual ~MG_CG_FORME_VOLUME_BOITE()
Definition: mg_cg_forme_volume_boite.cpp:53
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
BOITE
@ BOITE
Definition: ve_definition.h:31
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_BOITE::change_y2
void change_y2(double val)
Definition: mg_cg_forme_volume_boite.cpp:121
MG_CG_FORME_VOLUME_BOITE::change_z1
void change_z1(double val)
Definition: mg_cg_forme_volume_boite.cpp:111
mg_cg_operateur.h
MG_CG_FORME
Definition: mg_cg_forme.h:41
MG_CG_OPERATEUR
Definition: mg_cg_operateur.h:34
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_BOITE::change_x2
void change_x2(double val)
Definition: mg_cg_forme_volume_boite.cpp:116
MG_CG_FORME_VOLUME_BOITE::MG_CG_FORME_VOLUME_BOITE
MG_CG_FORME_VOLUME_BOITE(MG_CG_MODELE *mgcg_modele, double x1, double y1, double z1, double x2, double y2, double z2)
Definition: mg_cg_forme_volume_boite.cpp:28
MG_CG_FORME_VOLUME_BOITE::m_coin2
double m_coin2[3]
Definition: mg_cg_forme_volume_boite.h:69
mg_cg_modele.h
MG_CG_FORME_VOLUME_BOITE
Definition: mg_cg_forme_volume_boite.h:36
mg_cg_info.h
MG_CG_FORME_VOLUME_BOITE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_cg_forme_volume_boite.cpp:58
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::m_mg_volume
MG_VOLUME * m_mg_volume
Definition: mg_cg_forme_volume.h:65
MG_CG_FORME_VOLUME_BOITE::change_z2
void change_z2(double val)
Definition: mg_cg_forme_volume_boite.cpp:126
MG_CG_FORME_VOLUME_BOITE::get_coin2
double * get_coin2(void)
Definition: mg_cg_forme_volume_boite.cpp:96
MG_CG_FORME_VOLUME
Definition: mg_cg_forme_volume.h:36
MG_CG_FORME_VOLUME_BOITE::change_x1
void change_x1(double val)
Definition: mg_cg_forme_volume_boite.cpp:101
MG_CG_FORME::m_etat
int m_etat
Definition: mg_cg_forme.h:91
mg_volume.h
MG_CG_FORME_VOLUME_BOITE::m_coin1
double m_coin1[3]
Definition: mg_cg_forme_volume_boite.h:68