MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_forme_arete.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.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:53 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #include "mg_cg_forme_arete.h"
23 #include "mg_arete.h"
24 #include "mg_cg_modele.h"
25 #include "mg_cg_operateur.h"
26 #include "ot_geometrie.h"
27 #include "ot_boite_3d.h"
28 #include "mg_cg_info.h"
29 MG_CG_FORME_ARETE::MG_CG_FORME_ARETE(MG_CG_MODELE* mgcg_modele,int provenance): MG_CG_FORME(mgcg_modele,provenance)
30 {
31 
32 }
33 
34 MG_CG_FORME_ARETE::MG_CG_FORME_ARETE(MG_CG_MODELE* mgcg_modele,int provenance, int etat, long unsigned int num): MG_CG_FORME(mgcg_modele,provenance,etat,num)
35 {
36 
37 }
38 
39 MG_CG_FORME_ARETE::MG_CG_FORME_ARETE(MG_CG_MODELE* mgcg_modele,int provenance, MG_ARETE* mg_arete): MG_CG_FORME(mgcg_modele,provenance),m_mg_arete(mg_arete)
40 {
41 
42 }
43 
44 MG_CG_FORME_ARETE::MG_CG_FORME_ARETE(MG_CG_MODELE* mgcg_modele,int provenance, int etat, long unsigned int num, MG_ARETE* mg_arete): MG_CG_FORME(mgcg_modele,provenance,etat,num),m_mg_arete(mg_arete)
45 {
46 
47 }
48 
50 {
52 }
53 
55 {
56 
57 }
58 
60 {
61  return MG_CG_FORME::TYPE_FORME::ARETE;
62 }
63 
65 {
66  return MG_CG_FORME_ARETE::TYPE_FORME_ARETE::GENEREE;
67 }
68 
70 {
71  m_mg_arete=mg_arete;
72 }
73 
75 {
76  return m_mg_arete;
77 }
78 
80  TPL_MAP_ENTITE< MG_ELEMENT_COTOPOLOGIQUE* >* map_mg_element_cotopologique,
81  TPL_MAP_ENTITE< MG_ELEMENT_GEOMETRIQUE* >* map_mg_element_geometrique)
82 {
83  if(m_etat==MG_CG_FORME::ETAT_FORME::CONSTRUITE)
84  {
85  map_mg_element_topologique->ajouter(m_mg_arete);
86  OT_GEOMETRIE::get_map_mg_element_sous_jacent(m_mg_arete,map_mg_element_topologique,map_mg_element_cotopologique,map_mg_element_geometrique);
87  }
88 }
89 
91 {
92  return m_mg_arete->get_boite_3D();
93 }
94 
95 
97 {
102 }
103 
104 int MG_CG_FORME_ARETE::construire(bool fusionner_entite_similaire, double precision, bool importer_triangulation, double epsilon_triangulation)
105 {
106  std::cerr << "*** ATTENTION ! MG_CG_FORME_ARETE::construire : MG_CG_FORME construite par MG_CG_OPERATEUR* m_mgcg_operateur_parent ***" << std::endl;
107  return FAIL;
108 }
109 
110 void MG_CG_FORME_ARETE::enregistrer(std::ostream& o, double version)
111 {
112  o << "%" << get_id()
113  << "=MG_CG_FORME_ARETE("
114  << "$"<< m_mgcg_modele->get_id()
115  << "," << m_provenance
116  << "," << m_etat;
117  if(m_etat==MG_CG_FORME::ETAT_FORME::CONSTRUITE)
118  o << ",$"<< m_mg_arete->get_id();
119  else
120  o << ",$-1";
121  o << ",$" << get_mgcg_operateur_parent()->get_id();
122  o << "," << get_nb_mgcg_operateur_dependant()
123  << ",(";
124  std::map<long,MG_CG_OPERATEUR*>::iterator it_op;
125  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))
126  {
127  o << "$" << mgcg_op->get_id();
128  if(it_op!=--m_map_mgcg_operateur_dependant.end()) o << ",";
129  }
130  o << "));" << std::endl;
131  enregistrer_infos(o,version);
132 }
ot_geometrie.h
MG_CG_FORME_ARETE::get_boite_3D
virtual BOITE_3D get_boite_3D(void)
Definition: mg_cg_forme_arete.cpp:90
TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * >
FAIL
const int FAIL
Definition: mg_definition.h:39
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
MG_CG_MODELE::get_epsilon_triangulation
virtual double get_epsilon_triangulation(void)
Definition: mg_cg_modele.cpp:1119
MG_CG_FORME_ARETE::m_mg_arete
MG_ARETE * m_mg_arete
Definition: mg_cg_forme_arete.h:65
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_provenance
int m_provenance
Definition: mg_cg_forme.h:90
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::get_type_forme
virtual int get_type_forme(void)
Definition: mg_cg_forme_arete.cpp:59
mg_cg_operateur.h
MG_CG_FORME_ARETE::~MG_CG_FORME_ARETE
virtual ~MG_CG_FORME_ARETE()
Definition: mg_cg_forme_arete.cpp:54
MG_CG_FORME
Definition: mg_cg_forme.h:41
MG_CG_OPERATEUR
Definition: mg_cg_operateur.h:34
MG_CG_MODELE::get_precision
virtual double get_precision(void)
Definition: mg_cg_modele.cpp:1099
MG_CG_FORME_ARETE::MG_CG_FORME_ARETE
MG_CG_FORME_ARETE(MG_CG_MODELE *mgcg_modele, int provenance)
Definition: mg_cg_forme_arete.cpp:29
mg_cg_forme_arete.h
MG_CG_FORME::m_mgcg_modele
MG_CG_MODELE * m_mgcg_modele
Definition: mg_cg_forme.h:87
MG_CG_FORME_ARETE::get_mg_element
virtual void get_mg_element(TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *map_mg_element_topologique, TPL_MAP_ENTITE< MG_ELEMENT_COTOPOLOGIQUE * > *map_mg_element_cotopologique, TPL_MAP_ENTITE< MG_ELEMENT_GEOMETRIQUE * > *map_mg_element_geometrique)
Definition: mg_cg_forme_arete.cpp:79
MG_CG_MODELE
Definition: mg_cg_modele.h:41
mg_arete.h
mg_cg_modele.h
MG_CG_FORME_ARETE
Definition: mg_cg_forme_arete.h:36
MG_CG_FORME::get_mgcg_operateur_parent
virtual MG_CG_OPERATEUR * get_mgcg_operateur_parent(void)
Definition: mg_cg_forme.cpp:86
TPL_MAP_ENTITE::ajouter
virtual void ajouter(X x)
Definition: tpl_map_entite.h:55
BOITE_3D
Definition: ot_boite_3d.h:27
MG_CG_MODELE::get_fusionner_entite_similaire
virtual bool get_fusionner_entite_similaire(void)
Definition: mg_cg_modele.cpp:1089
mg_cg_info.h
MG_CG_FORME_ARETE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_cg_forme_arete.cpp:110
MG_ARETE::get_boite_3D
virtual BOITE_3D get_boite_3D(void)
Definition: mg_arete.cpp:116
ot_boite_3d.h
MG_CG_MODELE::get_importer_triangulation
virtual bool get_importer_triangulation(void)
Definition: mg_cg_modele.cpp:1109
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_ARETE::change_mg_arete
virtual void change_mg_arete(MG_ARETE *mg_arete)
Definition: mg_cg_forme_arete.cpp:69
MG_CG_FORME_ARETE::get_mg_arete
virtual MG_ARETE * get_mg_arete(void)
Definition: mg_cg_forme_arete.cpp:74
MG_ARETE
Definition: mg_arete.h:36
OT_GEOMETRIE::get_map_mg_element_sous_jacent
static void get_map_mg_element_sous_jacent(MG_SOMMET *sommet, TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *map_mg_element_topologique, TPL_MAP_ENTITE< MG_ELEMENT_COTOPOLOGIQUE * > *map_mg_element_cotopologique, TPL_MAP_ENTITE< MG_ELEMENT_GEOMETRIQUE * > *map_mg_element_geometrique)
Definition: ot_geometrie.cpp:641
MG_CG_FORME_ARETE::construire
virtual int construire(void)
Definition: mg_cg_forme_arete.cpp:96
MG_CG_FORME::m_etat
int m_etat
Definition: mg_cg_forme.h:91
MG_CG_FORME_ARETE::get_type_forme_arete
virtual int get_type_forme_arete(void)
Definition: mg_cg_forme_arete.cpp:64