MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
CAD4FE_MCNode.h
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 //####// CAD4FE_MCNode.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:56 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 #ifndef CAD4FE_MCNodeH
24 #define CAD4FE_MCNodeH
25 
26 #include <map>
27 #include <set>
28 
29 #include "CAD4FE_Mesher_platform.h"
30 #include "gestionversion.h"
31 #include "mg_noeud.h"
32 #include "ot_mathematique.h"
33 
34 const unsigned int IDMCNODE=5000;
35 
36 class MG_FACE;
37 class MG_ARETE;
38 class MG_SOMMET;
40 
41 namespace CAD4FE {
42 
43 class MCSegment;
44 class FaceBoundaryPoint;
45 class MCFace;
46 
47 class MCNode : public MG_NOEUD {
48 public:
49 
50 typedef std::map< MG_FACE *, OT_VECTEUR_3D > FMap;
51 typedef FMap::iterator FMapIterator;
52 typedef std::map< MG_ARETE *, double > EMap;
53 typedef EMap::iterator EMapIterator;
54 typedef EMap::const_iterator EMapCIterator;
55 typedef std::set< MG_SOMMET * > VMap;
56 typedef VMap::iterator VMapIterator;
57 typedef VMap::const_iterator VMapCIterator;
58 
59 MCNode(unsigned long num,MG_ELEMENT_TOPOLOGIQUE* mcTopo,MG_ELEMENT_TOPOLOGIQUE* refTopo,double xx,double yy,double zz);
60 MCNode(MG_ELEMENT_TOPOLOGIQUE* mcTopo,MG_ELEMENT_TOPOLOGIQUE* refTopo,double xx,double yy,double zz);
61 MCNode(MG_ELEMENT_TOPOLOGIQUE* mcTopo,MG_FACE* __refFace, double __uv[2], double __xyz[3]);
62 MCNode(MG_ELEMENT_TOPOLOGIQUE* mcTopo,MG_ARETE* __refEdge, double __t, double __xyz[3]);
63 MCNode();
64 MCNode(const MCNode&);
65 virtual ~MCNode();
66 virtual void enregistrer(std::ostream& o,double version);
67 void CopyGeometry(const MCNode&);
68 
69  enum CreatorType {
70  unknown = 0,
78  } Creator;
79 
80  void NormalMCFace(MCFace* __mcFace, double * __normal);
81 bool IsInFace (MG_FACE *);
82 bool IsInEdge (MG_ARETE *);
83 bool IsInVertex (MG_SOMMET*);
84 bool RefTopoIsInFace (MG_FACE *);
85 bool RefTopoIsInEdge (MG_ARETE *);
88 
91 double GetEdgeParams (MG_ARETE *);
92 double T (MG_ARETE *);
93 
94 virtual int get_type_entite ();
95 
96 void ConstructMapping();
97 void ConstructMergedVertexMapping(MG_SOMMET * __mergedVertex);
98 
99 void SharedFaces(MCNode * , std::set <MG_FACE*> & __setF);
100 void SharedEdges(MCNode * __other, std::set <MG_ARETE*> & __setE);
101 void SharedVertices(MCNode * __other, std::set <MG_SOMMET*> & __setV);
102 
105 
106 void Print();
107 
111 void SetRefFaceMapping(MG_FACE * __face, double * __uv);
112 void SetRefEdgeMapping(MG_ARETE * __edge, double __t);
113 void SetRefVertexMapping(MG_SOMMET * __vertex);
114 
115 void SetSaveFormat(char __format);
116 
117 
118 protected:
124 };
125 
126 }
127 
128 #endif
CAD4FE::MCNode::get_type_entite
virtual int get_type_entite()
Definition: CAD4FE_MCNode.cpp:122
CAD4FE::MCNode::ConstructMapping
void ConstructMapping()
Definition: CAD4FE_MCNode.cpp:140
gestionversion.h
CAD4FE::MCNode::~MCNode
virtual ~MCNode()
Definition: CAD4FE_MCNode.cpp:74
CAD4FE::MCNode::EMap
std::map< MG_ARETE *, double > EMap
Definition: CAD4FE_MCNode.h:52
CAD4FE::MCNode::SetRefEdgeMapping
void SetRefEdgeMapping(MG_ARETE *__edge, double __t)
Definition: CAD4FE_MCNode.cpp:138
CAD4FE::MCNode::mailleur_2d_bouge_point
@ mailleur_2d_bouge_point
Definition: CAD4FE_MCNode.h:77
CAD4FE_Mesher_platform.h
CAD4FE::MCNode::_refTopo
MG_ELEMENT_TOPOLOGIQUE * _refTopo
Definition: CAD4FE_MCNode.h:122
CAD4FE::MCNode::RefTopoIsInVertex
bool RefTopoIsInVertex(MG_SOMMET *)
Definition: CAD4FE_MCNode.cpp:401
CAD4FE::MCNode::mailleur_2d
@ mailleur_2d
Definition: CAD4FE_MCNode.h:72
CAD4FE::MCNode::mailleur_3d
@ mailleur_3d
Definition: CAD4FE_MCNode.h:73
CAD4FE::MCNode::_saveFormat
char _saveFormat
Definition: CAD4FE_MCNode.h:123
CAD4FE::MCNode::ConstructMergedVertexMapping
void ConstructMergedVertexMapping(MG_SOMMET *__mergedVertex)
CAD4FE::MCNode::_F
FMap _F
Definition: CAD4FE_MCNode.h:119
CAD4FE::MCNode::IsInVertex
bool IsInVertex(MG_SOMMET *)
Definition: CAD4FE_MCNode.cpp:397
CAD4FE::MCNode::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: CAD4FE_MCNode.cpp:459
IDMCNODE
const unsigned int IDMCNODE
Definition: CAD4FE_MCNode.h:34
mg_noeud.h
CAD4FE::MCNode::unknown
@ unknown
Definition: CAD4FE_MCNode.h:70
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
CAD4FE::MCNode::SetRefFaceMapping
void SetRefFaceMapping(MG_FACE *__face, double *__uv)
Definition: CAD4FE_MCNode.cpp:137
CAD4FE::MCNode::GetRefVertexMapping
VMap & GetRefVertexMapping()
Definition: CAD4FE_MCNode.cpp:136
CAD4FE::MCNode::IsInFace
bool IsInFace(MG_FACE *)
Definition: CAD4FE_MCNode.cpp:335
CAD4FE::MCNode::SetSaveFormat
void SetSaveFormat(char __format)
Definition: CAD4FE_MCNode.cpp:450
CAD4FE::MCNode::_V
VMap _V
Definition: CAD4FE_MCNode.h:121
CAD4FE::MCNode::MCNode
MCNode()
Definition: CAD4FE_MCNode.cpp:43
CAD4FE::MCNode::intersection_plane_mg_face
@ intersection_plane_mg_face
Definition: CAD4FE_MCNode.h:76
CAD4FE::MCNode::EMapCIterator
EMap::const_iterator EMapCIterator
Definition: CAD4FE_MCNode.h:54
CAD4FE::MCNode::T
double T(MG_ARETE *)
Definition: CAD4FE_MCNode.cpp:445
CAD4FE::MCNode::RefTopoIsInFace
bool RefTopoIsInFace(MG_FACE *)
Definition: CAD4FE_MCNode.cpp:363
MG_NOEUD
Definition: mg_noeud.h:41
CAD4FE::MCNode::VMapIterator
VMap::iterator VMapIterator
Definition: CAD4FE_MCNode.h:56
CAD4FE::MCNode::intersection_plane_mg_polysurface
@ intersection_plane_mg_polysurface
Definition: CAD4FE_MCNode.h:75
CAD4FE::MCNode::IsInEdge
bool IsInEdge(MG_ARETE *)
Definition: CAD4FE_MCNode.cpp:393
CAD4FE::MCNode::UV
OT_VECTEUR_3D & UV(MG_FACE *)
Definition: CAD4FE_MCNode.cpp:432
CAD4FE::MCNode::_E
EMap _E
Definition: CAD4FE_MCNode.h:120
CAD4FE::MCNode::FMapIterator
FMap::iterator FMapIterator
Definition: CAD4FE_MCNode.h:51
CAD4FE::MCNode::intersection_plane_mg_arete
@ intersection_plane_mg_arete
Definition: CAD4FE_MCNode.h:74
CAD4FE::MCNode::CreatorType
CreatorType
Definition: CAD4FE_MCNode.h:69
ot_mathematique.h
CAD4FE::MCNode::GetFaceParams
OT_VECTEUR_3D & GetFaceParams(MG_FACE *)
Definition: CAD4FE_MCNode.cpp:423
OT_VECTEUR_3D
Definition: ot_mathematique.h:94
CAD4FE::MCNode::RefTopoIsInEdge
bool RefTopoIsInEdge(MG_ARETE *)
Definition: CAD4FE_MCNode.cpp:378
CAD4FE::MCNode::VMapCIterator
VMap::const_iterator VMapCIterator
Definition: CAD4FE_MCNode.h:57
CAD4FE::MCNode::FMap
std::map< MG_FACE *, OT_VECTEUR_3D > FMap
Definition: CAD4FE_MCNode.h:50
CAD4FE::MCNode::GetEdgeParams
double GetEdgeParams(MG_ARETE *)
Definition: CAD4FE_MCNode.cpp:436
CAD4FE::MCNode::GetMergedVertex
MG_SOMMET * GetMergedVertex(MG_FACE *__face)
Definition: CAD4FE_MCNode.cpp:405
CAD4FE::MCNode::mailleur_1d
@ mailleur_1d
Definition: CAD4FE_MCNode.h:71
CAD4FE::MCNode::VMap
std::set< MG_SOMMET * > VMap
Definition: CAD4FE_MCNode.h:55
CAD4FE
Definition: CAD4FE_ClosestPoint_Segment_MG_ARETE.h:34
CAD4FE::MCNode::GetRefEdgeMapping
EMap & GetRefEdgeMapping()
Definition: CAD4FE_MCNode.cpp:135
CAD4FE::MCNode
Definition: CAD4FE_MCNode.h:47
CAD4FE::MCNode::GetRefFaceMapping
FMap & GetRefFaceMapping()
Definition: CAD4FE_MCNode.cpp:134
CAD4FE::MCNode::NormalMCFace
void NormalMCFace(MCFace *__mcFace, double *__normal)
Definition: CAD4FE_MCNode.cpp:340
CAD4FE::MCNode::change_lien_topologie_reference
void change_lien_topologie_reference(MG_ELEMENT_TOPOLOGIQUE *__refTopo)
Definition: CAD4FE_MCNode.cpp:130
CAD4FE::MCNode::get_lien_topologie_reference
MG_ELEMENT_TOPOLOGIQUE * get_lien_topologie_reference()
Definition: CAD4FE_MCNode.cpp:126
CAD4FE::MCNode::Creator
enum CAD4FE::MCNode::CreatorType Creator
CAD4FE::MCNode::CopyGeometry
void CopyGeometry(const MCNode &)
Definition: CAD4FE_MCNode.cpp:98
MG_ARETE
Definition: mg_arete.h:36
MG_FACE
Definition: mg_face.h:34
CAD4FE::MCFace
Definition: CAD4FE_MCFace.h:50
MG_SOMMET
Definition: mg_sommet.h:35
CAD4FE::MCNode::SharedVertices
void SharedVertices(MCNode *__other, std::set< MG_SOMMET * > &__setV)
Definition: CAD4FE_MCNode.cpp:327
CAD4FE::MCNode::EMapIterator
EMap::iterator EMapIterator
Definition: CAD4FE_MCNode.h:53
CAD4FE::MCNode::SharedFaces
void SharedFaces(MCNode *, std::set< MG_FACE * > &__setF)
Definition: CAD4FE_MCNode.cpp:311
CAD4FE::MCNode::Print
void Print()
Definition: CAD4FE_MCNode.cpp:475
CAD4FE::MCNode::SharedEdges
void SharedEdges(MCNode *__other, std::set< MG_ARETE * > &__setE)
Definition: CAD4FE_MCNode.cpp:319
CAD4FE::MCNode::SetRefVertexMapping
void SetRefVertexMapping(MG_SOMMET *__vertex)
Definition: CAD4FE_MCNode.cpp:139