MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
Référence de la classe HypergraphLib::Node

#include <hypergraphlib_node.h>

Graphe d'héritage de HypergraphLib::Node:
Graphe de collaboration de HypergraphLib::Node:

Types publics

typedef std::multimap< int, Arc * > MultimapArcsById
 
typedef std::pair< int, Arc * > IntArc_Pair
 

Fonctions membres publiques

 Node (Graph *__owner, int __id)
 
 Node (const Node &__from, const Graph *__owner=0)
 
MultimapArcsByIdIncidentArcs ()
 
void Add (Arc *)
 
unsigned int ArcCount (int __id)
 
int Remove (int __id)
 
void AdjacentNodes (std::set< int > &__adjacentNodes)
 
void AdjacentNodes (std::set< Node * > &__adjacentNodes)
 
ArcIsAdjacentToNode (int __nodeId)
 
ArcIsAdjacentToNode (Node *__n)
 
int GetNbArcsToNode (Node *__other)
 
- Fonctions membres publiques hérités de HypergraphLib::GraphObject
 GraphObject (const Graph *__owner, const int __id)
 
 GraphObject (const GraphObject &, const Graph *__owner)
 
int Id () const
 
const GraphOwner () const
 
void * GetUserData () const
 
void SetUserData (void *)
 
void * GetUserData (unsigned i) const
 
void SetUserData (unsigned i, void *)
 

Attributs protégés

MultimapArcsById _arcs
 
- Attributs protégés hérités de HypergraphLib::GraphObject
const Graph_owner
 
const int _id
 
std::map< int, void * > _userData
 

Description détaillée

Définition à la ligne 35 du fichier hypergraphlib_node.h.

Documentation des définitions de type membres

◆ IntArc_Pair

typedef std::pair< int, Arc* > HypergraphLib::Node::IntArc_Pair

Définition à la ligne 38 du fichier hypergraphlib_node.h.

◆ MultimapArcsById

typedef std::multimap< int , Arc * > HypergraphLib::Node::MultimapArcsById

Définition à la ligne 37 du fichier hypergraphlib_node.h.

Documentation des constructeurs et destructeur

◆ Node() [1/2]

HypergraphLib::Node::Node ( Graph __owner,
int  __id 
)

Constructs an empty node

Définition à la ligne 34 du fichier hypergraphlib_node.cpp.

◆ Node() [2/2]

HypergraphLib::Node::Node ( const Node __from,
const Graph __owner = 0 
)

Copy constructor

Définition à la ligne 40 du fichier hypergraphlib_node.cpp.

Documentation des fonctions membres

◆ Add()

void HypergraphLib::Node::Add ( Arc __incidentArc)

Add an incident arc to this node

Définition à la ligne 45 du fichier hypergraphlib_node.cpp.

Références _arcs, et HypergraphLib::GraphObject::Id().

Référencé par HypergraphLib::Graph::AddArc(), CAD4FE::MCBody::ContractEdgeToVertex(), CAD4FE::ShortestPath::InitializeAdjacencyGraph(), HypergraphLib::Graph::MergeNodes(), CAD4FE::MCBody::MergeVertices(), et CAD4FE::MCBody::SplitEdge().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ AdjacentNodes() [1/2]

void HypergraphLib::Node::AdjacentNodes ( std::set< int > &  __adjacentNodes)

Return the list of adjacent nodes

Définition à la ligne 73 du fichier hypergraphlib_node.cpp.

Références _arcs, HypergraphLib::GraphObject::_id, et HypergraphLib::Arc::Nodes().

Référencé par HypergraphLib::dfs(), HypergraphLib::dfsCycle(), HypergraphLib::Filaments(), et CAD4FE::MCAA::NodeConstrictedSection().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ AdjacentNodes() [2/2]

void HypergraphLib::Node::AdjacentNodes ( std::set< Node * > &  __adjacentNodes)

Return the list of adjacent nodes

Définition à la ligne 92 du fichier hypergraphlib_node.cpp.

Références _arcs, HypergraphLib::GraphObject::_id, et HypergraphLib::Arc::Nodes().

Voici le graphe d'appel pour cette fonction :

◆ ArcCount()

unsigned int HypergraphLib::Node::ArcCount ( int  __id)

Returns the number of ocurences of the specified arc incident to this node : this function will return "2" for a loop

Définition à la ligne 67 du fichier hypergraphlib_node.cpp.

Références _arcs.

◆ GetNbArcsToNode()

int HypergraphLib::Node::GetNbArcsToNode ( Node __other)

Définition à la ligne 134 du fichier hypergraphlib_node.cpp.

Références _arcs, HypergraphLib::GraphObject::Id(), et HypergraphLib::Arc::Nodes().

Référencé par HypergraphLib::Graph::IsCycle().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ IncidentArcs()

◆ IsAdjacentToNode() [1/2]

Arc * HypergraphLib::Node::IsAdjacentToNode ( int  __nodeId)

Définition à la ligne 119 du fichier hypergraphlib_node.cpp.

Références _arcs, et HypergraphLib::Arc::Nodes().

Référencé par HypergraphLib::Filaments(), IsAdjacentToNode(), et HypergraphLib::Graph::IsCycle().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ IsAdjacentToNode() [2/2]

Arc * HypergraphLib::Node::IsAdjacentToNode ( Node __n)

Définition à la ligne 113 du fichier hypergraphlib_node.cpp.

Références HypergraphLib::GraphObject::Id(), et IsAdjacentToNode().

Voici le graphe d'appel pour cette fonction :

◆ Remove()

int HypergraphLib::Node::Remove ( int  __id)

Removes one occurence of the arc ID incident to this node Return 1 if the arc ID is found in incident arcs

Définition à la ligne 50 du fichier hypergraphlib_node.cpp.

Références _arcs.

Documentation des données membres

◆ _arcs

MultimapArcsById HypergraphLib::Node::_arcs
protected

Définition à la ligne 92 du fichier hypergraphlib_node.h.

Référencé par Add(), AdjacentNodes(), ArcCount(), GetNbArcsToNode(), IsAdjacentToNode(), et Remove().


La documentation de cette classe a été générée à partir des fichiers suivants :