MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
hypergraphlib_node.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 //####// hypergraphlib_node.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:53:59 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef NODE_H
23 #define NODE_H
24 
25 
26 #include <map>
27 #include <set>
29 
30 namespace HypergraphLib {
31 
32 class Arc;
33 class Graph;
34 
36 public:
37  typedef std::multimap < int , Arc * > MultimapArcsById;
38  typedef std::pair < int, Arc* > IntArc_Pair;
39 
43  Node (Graph * __owner, int __id);
44 
48  Node (const Node & __from, const Graph * __owner=0);
49 
54  return _arcs;
55  };
56 
60  void Add(Arc *);
61 
66  unsigned int ArcCount (int __id);
67 
72  int Remove (int __id);
73 
77  void AdjacentNodes ( std::set < int > & __adjacentNodes );
81  void AdjacentNodes ( std::set < Node * > & __adjacentNodes );
82 
83  Arc * IsAdjacentToNode ( int __nodeId );
84 
85  Arc * IsAdjacentToNode ( Node * __n );
86 
89  int GetNbArcsToNode(Node * __other);
90 
91 protected:
93 };
94 } // end namespace HypergraphLib
95 
96 #endif
hypergraphlib_graphobject.h
HypergraphLib::Node::IntArc_Pair
std::pair< int, Arc * > IntArc_Pair
Definition: hypergraphlib_node.h:38
HypergraphLib::Arc
Definition: hypergraphlib_arc.h:37
HypergraphLib
Definition: hypergraphlib_arc.cpp:32
HYPERGRAPHLIB_ITEM
#define HYPERGRAPHLIB_ITEM
Definition: hypergraphlib_platform.h:36
HypergraphLib::Node::_arcs
MultimapArcsById _arcs
Definition: hypergraphlib_node.h:92
HypergraphLib::Node::MultimapArcsById
std::multimap< int, Arc * > MultimapArcsById
Definition: hypergraphlib_node.h:37
HypergraphLib::GraphObject
Definition: hypergraphlib_graphobject.h:31
HypergraphLib::Node::IncidentArcs
MultimapArcsById & IncidentArcs()
Definition: hypergraphlib_node.h:53
HypergraphLib::Node
Definition: hypergraphlib_node.h:35