MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_forme_arete_droite.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_arete_droite.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_arete.h"
26 #include "mg_cg_info.h"
28  double x1, double y1, double z1,
29  double x2, double y2, double z2): MG_CG_FORME_ARETE(mgcg_modele,MG_CG_FORME::PROVENANCE_FORME::PRIMITIVE)
30 {
31  m_xyz1[0]=x1;
32  m_xyz1[1]=y1;
33  m_xyz1[2]=z1;
34  m_xyz2[0]=x2;
35  m_xyz2[1]=y2;
36  m_xyz2[2]=z2;
37 }
38 
40  int etat,
41  long unsigned int num,
42  MG_ARETE* mg_arete,
43  double x1, double y1, double z1,
44  double x2, double y2, double z2): MG_CG_FORME_ARETE(mgcg_modele,MG_CG_FORME::PROVENANCE_FORME::PRIMITIVE,etat,num,mg_arete)
45 {
46  m_xyz1[0]=x1;
47  m_xyz1[1]=y1;
48  m_xyz1[2]=z1;
49  m_xyz2[0]=x2;
50  m_xyz2[1]=y2;
51  m_xyz2[2]=z2;
52 }
53 
55 {
56  m_xyz1[0]=mdd.m_xyz1[0];
57  m_xyz1[1]=mdd.m_xyz1[1];
58  m_xyz1[2]=mdd.m_xyz1[2];
59  m_xyz2[0]=mdd.m_xyz2[0];
60  m_xyz2[1]=mdd.m_xyz2[1];
61  m_xyz2[2]=mdd.m_xyz2[2];
62 }
63 
65 {
66 
67 }
68 
70 {
71  return MG_CG_FORME_ARETE::TYPE_FORME_ARETE::DROITE;
72 }
73 
75 {
76  m_xyz1[0]=val;
77  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
78 }
79 
81 {
82  m_xyz1[1]=val;
83  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
84 }
85 
87 {
88  m_xyz1[2]=val;
89  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
90 }
91 
93 {
94  m_xyz2[0]=val;
95  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
96 }
97 
99 {
100  m_xyz2[1]=val;
101  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
102 }
103 
105 {
106  m_xyz2[2]=val;
107  change_etat(MG_CG_FORME::ETAT_FORME::ATTENTE_RECONSTRUCTION);
108 }
109 
111 {
112  return m_xyz1;
113 }
114 
116 {
117  return m_xyz2;
118 }
119 
120 void MG_CG_FORME_ARETE_DROITE::enregistrer(std::ostream& o, double version)
121 {
122  o << "%" << get_id()
123  << "=MG_CG_FORME_ARETE_DROITE("
124  << "$"<< m_mgcg_modele->get_id()
125  << "," << m_etat;
126  if(m_etat==MG_CG_FORME::ETAT_FORME::CONSTRUITE)
127  o << ",$"<< m_mg_arete->get_id();
128  else
129  o << ",$-1";
130  o << "," << m_xyz1[0]
131  << "," << m_xyz1[1]
132  << "," << m_xyz1[2]
133  << "," << m_xyz2[0]
134  << "," << m_xyz2[1]
135  << "," << m_xyz2[2];
136  o << "," << get_nb_mgcg_operateur_dependant()
137  << ",(";
138  std::map<long,MG_CG_OPERATEUR*>::iterator it_op;
139  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))
140  {
141  o << "$" << mgcg_op->get_id();
142  if(it_op!=--m_map_mgcg_operateur_dependant.end()) o << ",";
143  }
144  o << "));" << std::endl;
145  enregistrer_infos(o,version);
146 }
MG_CG_FORME_ARETE_DROITE::MG_CG_FORME_ARETE_DROITE
MG_CG_FORME_ARETE_DROITE(MG_CG_MODELE *mgcg_modele, double x1, double y1, double z1, double x2, double y2, double z2)
Definition: mg_cg_forme_arete_droite.cpp:27
MG_CG_FORME_ARETE_DROITE::m_xyz2
double m_xyz2[3]
Definition: mg_cg_forme_arete_droite.h:69
mg_cg_forme_arete_droite.h
MG_CG_FORME_ARETE_DROITE::change_z2
virtual void change_z2(double val)
Definition: mg_cg_forme_arete_droite.cpp:104
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
MG_CG_FORME_ARETE::m_mg_arete
MG_ARETE * m_mg_arete
Definition: mg_cg_forme_arete.h:65
MG_CG_FORME::change_etat
virtual void change_etat(int etat_forme)
Definition: mg_cg_forme.cpp:81
MG_CG_FORME_ARETE_DROITE::get_xyz2
virtual double * get_xyz2(void)
Definition: mg_cg_forme_arete_droite.cpp:115
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_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_ARETE_DROITE::get_xyz1
virtual double * get_xyz1(void)
Definition: mg_cg_forme_arete_droite.cpp:110
mg_cg_operateur.h
MG_CG_FORME_ARETE_DROITE::change_y1
virtual void change_y1(double val)
Definition: mg_cg_forme_arete_droite.cpp:80
MG_CG_FORME
Definition: mg_cg_forme.h:41
MG_CG_FORME_ARETE_DROITE::m_xyz1
double m_xyz1[3]
Definition: mg_cg_forme_arete_droite.h:68
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_ARETE_DROITE::change_x1
virtual void change_x1(double val)
Definition: mg_cg_forme_arete_droite.cpp:74
mg_arete.h
MG_CG_FORME_ARETE_DROITE::change_z1
virtual void change_z1(double val)
Definition: mg_cg_forme_arete_droite.cpp:86
mg_cg_modele.h
MG_CG_FORME_ARETE
Definition: mg_cg_forme_arete.h:36
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_ARETE_DROITE::~MG_CG_FORME_ARETE_DROITE
virtual ~MG_CG_FORME_ARETE_DROITE()
Definition: mg_cg_forme_arete_droite.cpp:64
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_ARETE_DROITE::get_type_forme_arete
virtual int get_type_forme_arete(void)
Definition: mg_cg_forme_arete_droite.cpp:69
MG_CG_FORME_ARETE_DROITE::change_x2
virtual void change_x2(double val)
Definition: mg_cg_forme_arete_droite.cpp:92
MG_CG_FORME_ARETE_DROITE::change_y2
virtual void change_y2(double val)
Definition: mg_cg_forme_arete_droite.cpp:98
MG_CG_FORME_ARETE_DROITE
Definition: mg_cg_forme_arete_droite.h:36
MG_ARETE
Definition: mg_arete.h:36
MG_CG_FORME_ARETE_DROITE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_cg_forme_arete_droite.cpp:120
MG_CG_FORME::m_etat
int m_etat
Definition: mg_cg_forme.h:91