GraphLib  2.0
une librairie C# pour l’exploitation de graphes en reconnaissance des formes
 All Classes Namespaces Functions Enumerations Enumerator Properties
Graphs.Graph Class Reference

Modélise un graphe. More...

Inheritance diagram for Graphs.Graph:
Matching.SearchTree

Public Member Functions

 Graph ()
 Initialise le graphe avec les valeurs par défaut. More...
 
 Graph (string id, String name, Boolean isDirected)
  More...
 
void DynamicCastLabel (Label labelNode, Label labelEdge)
  More...
 
void loadGXL (string url)
 
void saveToGXL (string url)
 
Boolean addNode (Node n)
 Charge le graphe depuis un fichier GXL dont l'URL est donnée en paramètre. Ce fichier doit respecter les normes GXL http://www.gupro.de/GXL/. Dans le fichier GXL, les noeuds doivent être déclarés avant les arcs qui les concernent. More...
 
Boolean addEdge (Edge e)
 Ajoute un Edge au graphe et aux Node Edge.NodeSource et Edge.NodeTarget. L'id de l'Edge peut être null mais lorsqu'il est renseigné il doit être unique. More...
 
Boolean deleteNode (Node node)
 Supprime le noeud lorsque celui-ci n'a plus d'Edge associé. More...
 
Boolean deleteNodeAndEdges (Node n)
 Supprime le noeud et tous ses Edge associés More...
 
Boolean deleteEdge (Edge edge)
 Supprime l'Edge du graphe. More...
 
Matrix calculateAdjacencyMatrix ()
 Calcule la matrice d'adjacence du graphe. Les indices du tableau correspondent à l'indice des noeuds dans ListNodes. More...
 
Node findNode (String id)
 Permet de trouver un Node par son id. More...
 
Node findNode (Node node)
 Permet de trouver un Node dans la liste en le passant en paramétre. More...
 
Edge findEdge (String id)
 Permet de trouver un Edge par son id. Attention toutefois, les Edges n'ont pas forcément d'id renseigné et l'id est alors null. More...
 

Properties

string Id [get, set]
 Identifiant du graphe. More...
 
string Name [get, set]
 Nom du graphe permettant de le décrire. More...
 
List< NodeListNodes [get, set]
 Liste des noeuds du graphe. More...
 
List< EdgeListEdges [get, set]
 Liste des arcs/arêtes du graphe. More...
 
Boolean IsDirected [get, set]
 Permet d'indiquer si le graphe est orienté ou non. More...
 

Detailed Description

Modélise un graphe.

Constructor & Destructor Documentation

Graphs.Graph.Graph ( )

Initialise le graphe avec les valeurs par défaut.

id = null

name = null

isDirected = false

Graphs.Graph.Graph ( string  id,
String  name,
Boolean  isDirected 
)

Parameters
idInitialise l'attribut id
nameInitialise l'attribut name
isDirectedInitialise l'attribut isDirected

Member Function Documentation

Boolean Graphs.Graph.addEdge ( Edge  e)

Ajoute un Edge au graphe et aux Node Edge.NodeSource et Edge.NodeTarget. L'id de l'Edge peut être null mais lorsqu'il est renseigné il doit être unique.

Parameters
eEdge à ajouter au graphe
Returns
True si l'id renseigné est unique (id null possible), False sinon
Boolean Graphs.Graph.addNode ( Node  n)

Charge le graphe depuis un fichier GXL dont l'URL est donnée en paramètre. Ce fichier doit respecter les normes GXL http://www.gupro.de/GXL/. Dans le fichier GXL, les noeuds doivent être déclarés avant les arcs qui les concernent.

Parameters
urlAdresse complète du fichier GXL à charger

Permet d'enregistrer le graphe dans un fichier GXL. Si le fichier existe déjà alors la méthode efface son contenu. Les Edge.Label et Node.Label doivent être transformer avec labelToAttributes() au préalable si nécessaire.

Parameters
urlAdresse complète du fichier GXL à enregistrer

Lors de l'utilisation de loadGXL, les attributs sont chargés dans Node.AttributesGXL et Edge.AttributesGXL. Pour pouvoir les transférer dans Node.Label et Edge.Label, il faut que l'utilisateur détermine les types de Label qui seront utilisés.

Parameters
labelNodeObjet héritant de Label initialisant tous les Node.Label au bon type
labelEdgeObjet héritant de Label initialisant tous les Edge.Label au bon type

Lorsque l'utilisateur construit le graphe à la main alors doit déterminer les Node.Label et Edge.Label. Pour que ces Label puissent être écrits en GXl avec saveToGXL, les Label doivent être transformés en AttributesGXL.

Ajoute un noeud au graphe. Node.Id doit être obligatoirement renseigné dans un fichier GXL. Si l'utilisateur n'a pas renseigné le Node.Id alors cette méthode détermine un id par défaut. L'id doit être unique.

Parameters
nNoeud à ajouter au graphe
Returns
True si le noeud avec id unique a été ajouté, False si le noeud n'a pas été ajouté car id non unique
Matrix Graphs.Graph.calculateAdjacencyMatrix ( )

Calcule la matrice d'adjacence du graphe. Les indices du tableau correspondent à l'indice des noeuds dans ListNodes.

Returns
Matrice d'adjacence du graphe
Boolean Graphs.Graph.deleteEdge ( Edge  edge)

Supprime l'Edge du graphe.

Parameters
edgeEdge à supprimé
Returns
True si edge est trouvé et supprimé, False sinon
Boolean Graphs.Graph.deleteNode ( Node  node)

Supprime le noeud lorsque celui-ci n'a plus d'Edge associé.

Parameters
nodeNode à supprimer du graphe
Returns
True si node a été supprimé, False s'il est introuvable ou qu'il contient encore des arcs.
Boolean Graphs.Graph.deleteNodeAndEdges ( Node  n)

Supprime le noeud et tous ses Edge associés

Parameters
nNode à supprimer
Returns
True si le Node et ses Edges sont trouvés et supprimés, False sinon
void Graphs.Graph.DynamicCastLabel ( Label  labelNode,
Label  labelEdge 
)

Change le type des labels dynamiquement sans avoir à faire un LoadGXL Condition : Les attributs GXL doivent supporter le changement de type

Edge Graphs.Graph.findEdge ( String  id)

Permet de trouver un Edge par son id. Attention toutefois, les Edges n'ont pas forcément d'id renseigné et l'id est alors null.

Parameters
idid de l'Edge à trouver
Returns
Edge ayant l'id passé en paramètre. Si aucun Edge n'est trouvé alors la méthode retourne null.
Node Graphs.Graph.findNode ( String  id)

Permet de trouver un Node par son id.

Parameters
idid du Node à trouver
Returns
Node ayant l'id passé en paramètre. Si aucun Node n'est trouvé alors la méthode retourne null.
Node Graphs.Graph.findNode ( Node  node)

Permet de trouver un Node dans la liste en le passant en paramétre.

Parameters
nodeNode à trouver
Returns
Recherche le Node dans la liste. Retourne le noeud s'il est trouvé, renvoit null sinon.

Property Documentation

string Graphs.Graph.Id
getset

Identifiant du graphe.

Boolean Graphs.Graph.IsDirected
getset

Permet d'indiquer si le graphe est orienté ou non.

true pour un graphe orienté

false pour un graphe non orienté

List<Edge> Graphs.Graph.ListEdges
getset

Liste des arcs/arêtes du graphe.

List<Node> Graphs.Graph.ListNodes
getset

Liste des noeuds du graphe.

string Graphs.Graph.Name
getset

Nom du graphe permettant de le décrire.


The documentation for this class was generated from the following file: