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
std::set< MCNode * > _facePoints
Graph::Graph * _intrAdjacencyGraph
double(* Distance)(Graph::Node *__a, Graph::Node *__b, Graph::Arc *__arc)
std::vector< MCNode * > _shortestPath
double Find(std::vector< MCNode * > *__shortestPathNodes=0, std::vector< MG_ELEMENT_TOPOLOGIQUE * > *__shortestPathTopo=0)