MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
CAD4FE_ShortestPath.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_ShortestPath.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:56 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 #ifndef CAD4FE_ShortestPathH
24 #define CAD4FE_ShortestPathH
25 
26 #include <set>
27 
28 #include "ot_mathematique.h"
29 
30 #include "hypergraphlib_graph.h"
31 #include "hypergraphlib_node.h"
32 #include "hypergraphlib_arc.h"
33 #include "hypergraphlib_dijkstra.h"
34 #include "hypergraphlib_neato.h"
35 
36 namespace Graph = HypergraphLib;
37 
39 
40 namespace CAD4FE {
41 
42 class MCNode;
43 class MCFace ;
44 class PolySurface;
45 
47 {
48 public:
49  ~ShortestPath();
50  double Find(std::vector <MCNode *> * __shortestPathNodes = 0, std::vector <MG_ELEMENT_TOPOLOGIQUE *> * __shortestPathTopo = 0);
52  MCNode * GetStartNode();
53  MCNode * GetEndNode();
54 protected:
55  double (*Distance)(Graph::Node * __a, Graph::Node * __b, Graph::Arc * __arc);
59  std::set <MCNode*> _facePoints;
61  std::vector <MCNode*> _shortestPath;
62 };
63 
64 }
65 
66 #endif
CAD4FE::ShortestPath::_mcNode
MCNode * _mcNode[2]
Definition: CAD4FE_ShortestPath.h:58
CAD4FE::ShortestPath::Find
double Find(std::vector< MCNode * > *__shortestPathNodes=0, std::vector< MG_ELEMENT_TOPOLOGIQUE * > *__shortestPathTopo=0)
Definition: CAD4FE_ShortestPath.cpp:175
hypergraphlib_neato.h
hypergraphlib_arc.h
CAD4FE::PolySurface
Definition: CAD4FE_PolySurface.h:43
CAD4FE::ShortestPath::~ShortestPath
~ShortestPath()
Definition: CAD4FE_ShortestPath.cpp:45
hypergraphlib_dijkstra.h
HypergraphLib::Arc
Definition: hypergraphlib_arc.h:37
CAD4FE::ShortestPath::_mcFace
MCFace * _mcFace
Definition: CAD4FE_ShortestPath.h:56
CAD4FE::ShortestPath::_intrAdjacencyGraph
Graph::Graph * _intrAdjacencyGraph
Definition: CAD4FE_ShortestPath.h:60
HypergraphLib
Definition: hypergraphlib_arc.cpp:32
hypergraphlib_graph.h
CAD4FE::ShortestPath::_polySurface
PolySurface * _polySurface
Definition: CAD4FE_ShortestPath.h:57
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
CAD4FE::ShortestPath::InitializeAdjacencyGraph
void InitializeAdjacencyGraph()
Definition: CAD4FE_ShortestPath.cpp:64
CAD4FE::ShortestPath::_facePoints
std::set< MCNode * > _facePoints
Definition: CAD4FE_ShortestPath.h:59
CAD4FE::ShortestPath::GetStartNode
MCNode * GetStartNode()
Definition: CAD4FE_ShortestPath.cpp:54
CAD4FE::ShortestPath
Definition: CAD4FE_ShortestPath.h:46
ot_mathematique.h
CAD4FE::ShortestPath::Distance
double(* Distance)(Graph::Node *__a, Graph::Node *__b, Graph::Arc *__arc)
Definition: CAD4FE_ShortestPath.h:55
HypergraphLib::Graph
Definition: hypergraphlib_graph.h:58
HypergraphLib::Node
Definition: hypergraphlib_node.h:35
CAD4FE::ShortestPath::_shortestPath
std::vector< MCNode * > _shortestPath
Definition: CAD4FE_ShortestPath.h:61
CAD4FE
Definition: CAD4FE_ClosestPoint_Segment_MG_ARETE.h:34
CAD4FE::MCNode
Definition: CAD4FE_MCNode.h:47
CAD4FE::MCFace
Definition: CAD4FE_MCFace.h:50
hypergraphlib_node.h
CAD4FE::ShortestPath::GetEndNode
MCNode * GetEndNode()
Definition: CAD4FE_ShortestPath.cpp:59