MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
occ_boucle.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 //####// occ_boucle.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #include "gestionversion.h"
23 #ifdef ALL_OCC
24 #include "occ_boucle.h"
25 
26 OCC_BOUCLE::OCC_BOUCLE(std::string idori,MG_FACE* mgface, TopoDS_Wire wire,OCC_FONCTION* occ_fonction): MG_BOUCLE(mgface)
27 {
28  m_wire=wire;
29  m_occ_fonction=occ_fonction;
30  idoriginal=idori;
31 }
32 
33 OCC_BOUCLE::OCC_BOUCLE(std::string idori,long unsigned int num, MG_FACE* mgface, TopoDS_Wire wire,OCC_FONCTION* occ_fonction): MG_BOUCLE(num, mgface)
34 {
35  m_wire=wire;
36  m_occ_fonction=occ_fonction;
37  idoriginal=idori;
38 }
39 
40 OCC_BOUCLE::OCC_BOUCLE(std::string idori,MG_POUTRE* mgpoutre, TopoDS_Wire wire,OCC_FONCTION* occ_fonction): MG_BOUCLE(mgpoutre)
41 {
42  m_wire=wire;
43  m_occ_fonction=occ_fonction;
44  idoriginal=idori;
45 }
46 
47 OCC_BOUCLE::OCC_BOUCLE(std::string idori,long unsigned int num, MG_POUTRE* mgpoutre, TopoDS_Wire wire,OCC_FONCTION* occ_fonction): MG_BOUCLE(num, mgpoutre)
48 {
49  m_wire=wire;
50  m_occ_fonction=occ_fonction;
51  idoriginal=idori;
52 }
53 
54 OCC_BOUCLE::OCC_BOUCLE(std::string idori,long unsigned int num,TopoDS_Wire wire,OCC_FONCTION* occ_fonction): MG_BOUCLE(num)
55 {
56  m_wire=wire;
57  m_occ_fonction=occ_fonction;
58  idoriginal=idori;
59 }
60 
61 OCC_BOUCLE::OCC_BOUCLE(std::string idori,TopoDS_Wire wire,OCC_FONCTION* occ_fonction)
62 {
63  m_wire=wire;
64  m_occ_fonction=occ_fonction;
65  idoriginal=idori;
66 }
67 
69 {
70  m_wire=mdd.m_wire;
72 }
73 
75 {
76  if(m_occ_fonction->get_version()=="OCCV2017")
77  {
79  occ_fonction_v2017->supprimer_OCC_BOUCLE(this);
80  }
81 }
82 
83 void OCC_BOUCLE::enregistrer(std::ostream& o, double version)
84 {
85  if (face!=NULL) o << "%" << get_id() << "=BOUCLE($"<< face->get_id() << "," << get_idoriginal() << ",(";
86  else if (poutre!=NULL) o << "%" << get_id() << "=BOUCLE($"<< poutre->get_id() << "," << get_idoriginal() <<",(";
87  else o << "%" << get_id() << "=BOUCLE($"<< "-1" << "," << get_idoriginal() <<",(";
88  for (unsigned int i=0;i<lst_coarete.size();i++)
89  {
90  o << "$" << lst_coarete[i]->get_id();
91  if (i!=lst_coarete.size()-1) o << ",";
92  else o << ")";
93  }
94  o << ");" << std::endl;
95 }
96 
97 
98 TopoDS_Wire OCC_BOUCLE::get_TopoDS_Wire(void)
99 {
100  return m_wire;
101 }
102 
103 void OCC_BOUCLE::change_TopoDS_Wire(TopoDS_Wire wire)
104 {
105  m_wire=wire;
106 }
107 
108 
109 
110 
111 #endif
MG_BOUCLE
Definition: mg_boucle.h:35
gestionversion.h
OCC_BOUCLE::change_TopoDS_Wire
void change_TopoDS_Wire(TopoDS_Wire wire)
Definition: occ_boucle.cpp:103
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
occ_boucle.h
MG_BOUCLE::face
MG_FACE * face
Definition: mg_boucle.h:56
OCC_BOUCLE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: occ_boucle.cpp:83
MG_POUTRE
Definition: mg_poutre.h:33
OCC_BOUCLE::get_TopoDS_Wire
TopoDS_Wire get_TopoDS_Wire(void)
Definition: occ_boucle.cpp:98
OCC_FONCTION_V2017::supprimer_OCC_BOUCLE
int supprimer_OCC_BOUCLE(OCC_BOUCLE *occ_boucle)
Definition: occ_fonction_v2017.cpp:1038
MG_ELEMENT_COTOPOLOGIQUE::get_idoriginal
virtual std::string get_idoriginal(void)
Definition: mg_element_cotopologique.cpp:62
OCC_BOUCLE
Definition: occ_boucle.h:38
OCC_BOUCLE::m_occ_fonction
OCC_FONCTION * m_occ_fonction
Definition: occ_boucle.h:55
MG_ELEMENT_COTOPOLOGIQUE::idoriginal
std::string idoriginal
Definition: mg_element_cotopologique.h:52
MG_BOUCLE::lst_coarete
std::vector< MG_COARETE * > lst_coarete
Definition: mg_boucle.h:58
MG_FACE
Definition: mg_face.h:34
OCC_FONCTION_V2017
Definition: occ_fonction_v2017.h:104
MG_BOUCLE::poutre
MG_POUTRE * poutre
Definition: mg_boucle.h:57
OCC_BOUCLE::~OCC_BOUCLE
virtual ~OCC_BOUCLE()
Definition: occ_boucle.cpp:74
OCC_FONCTION
Definition: occ_fonction.h:40
OCC_BOUCLE::m_wire
TopoDS_Wire m_wire
Definition: occ_boucle.h:54
OCC_BOUCLE::OCC_BOUCLE
OCC_BOUCLE(std::string idori, unsigned long num, class MG_POUTRE *mgpoutre, TopoDS_Wire wire, OCC_FONCTION *occ_fonction)
OCC_FONCTION::get_version
virtual std::string get_version(void)
Definition: occ_fonction.cpp:88