<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Graphs</name>
    </assembly>
    <members>
        <member name="T:Graphs.AttributeGXL">
            <summary>
            Attribut servant de format de transfert entre un Label et sa lecture/écriture dans un fichier GXL. 
            </summary>
        </member>
        <member name="M:Graphs.AttributeGXL.#ctor">
            <summary>
            Initialise les attributs à null.
            </summary>
        </member>
        <member name="M:Graphs.AttributeGXL.#ctor(System.String,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="_type">Type de l'attribut du Label utilisateur</param>
            <param name="_name">Nom de l'attribut du Label utilisateur</param>
            <param name="_value">Valeur de l'attribut du Label utilisateur</param>
        </member>
        <member name="P:Graphs.AttributeGXL.Type">
            <summary>
            Type de l'attribut du Label utilisateur.
            </summary>
        </member>
        <member name="P:Graphs.AttributeGXL.Name">
            <summary>
            Nom de l'attribut du Label utilisateur.
            </summary>
        </member>
        <member name="P:Graphs.AttributeGXL.Value">
            <summary>
            Valeur de l'attribut du Label utilisateur.
            </summary>
        </member>
        <member name="T:Graphs.Edge">
            <summary>
            Modélise un arc ou une arête d'un graphe.
            </summary>
        </member>
        <member name="F:Graphs.GraphComponent.label">
            <summary>
            Contient tous les attributs du noeud.
            </summary>
        </member>
        <member name="F:Graphs.GraphComponent.isNode">
            <summary>
            Permet de dire si la composante est un noeud ou non.
            </summary>
        </member>
        <member name="F:Graphs.GraphComponent.id">
            <summary>
            Identifiant . id doit être unique pour chaque noeud d'un graphe et doit être obligatoirement renseigné.
            </summary>
        </member>
        <member name="F:Graphs.GraphComponent.attributesGXL">
            <summary>
            Permet de faire le mapping entre Label et les attributs qui doivent être écrits ou lu à partir des fichiers GXL.
            </summary>
        </member>
        <member name="P:Graphs.GraphComponent.Label">
            <summary>
            
            </summary>
        </member>
        <member name="F:Graphs.Edge.nodeSource">
            <summary>
            Noeud source de l'arc dans un graphe orienté. Lors d'un graphe non orienté source et target n'ont pas d'importance.
            </summary>
        </member>
        <member name="F:Graphs.Edge.nodeTarget">
            <summary>
            Noeud de destination de l'arc dans un graphe orienté. Lors d'un graphe non orienté source et target n'ont pas d'importance.
            </summary>
        </member>
        <member name="M:Graphs.Edge.#ctor">
            <summary>
            Initialise l'arc/arête avec les valeurs par défaut 
            </summary>
            <value>Id = null</value>
            <value>Label = null</value>
        </member>
        <member name="M:Graphs.Edge.#ctor(System.String)">
            <summary>
            Initialise l'arc/arête avec les valeurs par défaut 
            </summary>
            <value>Id = null</value>
            <value>Label = null</value>
        </member>
        <member name="M:Graphs.Edge.#ctor(System.String,Graphs.Node,Graphs.Node,Graphs.Label)">
            <summary>
            Constructeur à utiliser lorsque l'arc/arête a un identifiant.
            </summary>
            <param name="id">Identifiant de l'arc/arête</param>
            <param name="nodeSource">Noeud source de l'arc</param>
            <param name="nodeTarget">Noeud de destination de l'arc</param>
            <param name="label">Contient tous les attributs de l'arc/arête</param>
        </member>
        <member name="M:Graphs.Edge.#ctor(Graphs.Node,Graphs.Node,Graphs.Label)">
            <summary>
            Constructeur à utiliser lorsqu'on ne souhaite pas d'identifiant pour l'arc/arête.
            </summary>
            <param name="nodeSource">Noeud source de l'arc</param>
            <param name="nodeTarget">Noeud de destination de l'arc</param>
            <param name="label">Contient tous les attributs de l'arc/arête</param>
        </member>
        <member name="M:Graphs.Edge.getOtherNode(Graphs.Node)">
            <summary>
            La méthode getOtherNode renvoie le Noeud de l'arc qui n'est pas en paramètre
            </summary>
            <param name="n">Noeud de l'arc</param>
            <returns>Retourne le noeud qui n'es pas en paramètre</returns>
        </member>
        <member name="P:Graphs.Edge.NodeSource">
            <summary>
            Noeud source de l'arc dans un graphe orienté. Lors d'un graphe non orienté source et target n'ont pas d'importance.
            </summary>
        </member>
        <member name="P:Graphs.Edge.NodeTarget">
            <summary>
            Noeud de destination de l'arc dans un graphe orienté. Lors d'un graphe non orienté source et target n'ont pas d'importance.
            </summary>
        </member>
        <member name="T:Graphs.Graph">
            <summary>
            Modélise un graphe.
            </summary>
        </member>
        <member name="F:Graphs.Graph.id">
            <summary>
            Identifiant du graphe. 
            </summary>
        </member>
        <member name="F:Graphs.Graph.name">
            <summary>
            Nom du graphe permettant de le décrire.
            </summary>
        </member>
        <member name="F:Graphs.Graph.listNodes">
            <summary>
            Liste des noeuds du graphe.
            </summary>
        </member>
        <member name="F:Graphs.Graph.listEdges">
            <summary>
            Liste des arcs/arêtes du graphe.
            </summary>
        </member>
        <member name="F:Graphs.Graph.isDirected">
            <summary>
            Permet d'indiquer si le graphe est orienté ou non.
            </summary>
            <value>true pour un graphe orienté</value>
            <value>false pour un graphe non orienté</value>
        </member>
        <member name="F:Graphs.Graph.adjacencyMatrix">
            <summary>
            Matrice d'adjacence du graphe. 
            </summary>
        </member>
        <member name="M:Graphs.Graph.#ctor">
            <summary>
            Initialise le graphe avec les valeurs par défaut.
            </summary>
            <value>id = null</value>
            <value>name = null</value>
            <value>isDirected = false</value>
        </member>
        <member name="M:Graphs.Graph.#ctor(System.String,System.String,System.Boolean)">
            <summary>
            
            </summary>
            <param name="id">Initialise l'attribut id</param>
            <param name="name">Initialise l'attribut name</param>
            <param name="isDirected">Initialise l'attribut isDirected</param>
        </member>
        <member name="M:Graphs.Graph.DynamicCastLabel(Graphs.Label,Graphs.Label)">
            <summary>
            Change le type des labels dynamiquement sans avoir à faire un LoadGXL
            Condition : Les attributs GXL doivent supporter le changement de type
            </summary>
        </member>
        <member name="M:Graphs.Graph.addNode(Graphs.Node)">
            <summary>
            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. 
            </summary>
            <param name="n">Noeud à ajouter au graphe</param>
            <returns>True si le noeud avec id unique a été ajouté, False si le noeud n'a pas été ajouté car id non unique</returns>
        </member>
        <member name="M:Graphs.Graph.addEdge(Graphs.Edge)">
            <summary>
            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.
            </summary>
            <param name="e">Edge à ajouter au graphe</param>
            <returns>True si l'id renseigné est unique (id null possible), False sinon</returns>
        </member>
        <member name="M:Graphs.Graph.deleteNode(Graphs.Node)">
            <summary>
            Supprime le noeud lorsque celui-ci n'a plus d'Edge associé.
            </summary>
            <param name="node">Node à supprimer du graphe</param>
            <returns>True si node a été supprimé, False s'il est introuvable ou qu'il contient encore des arcs. </returns>
        </member>
        <member name="M:Graphs.Graph.deleteNodeAndEdges(Graphs.Node)">
            <summary>
            Supprime le noeud et tous ses Edge associés
            </summary>
            <param name="n">Node à supprimer</param>
            <returns>True si le Node et ses Edges sont trouvés et supprimés, False sinon</returns>
        </member>
        <member name="M:Graphs.Graph.deleteEdge(Graphs.Edge)">
            <summary>
            Supprime l'Edge du graphe.
            </summary>
            <param name="edge">Edge à supprimé</param>
            <returns>True si edge est trouvé et supprimé, False sinon</returns>
        </member>
        <member name="M:Graphs.Graph.calculateAdjacencyMatrix">
            <summary>
            Calcule la matrice d'adjacence du graphe. Les indices du tableau correspondent à l'indice des noeuds dans ListNodes. 
            </summary>
            <returns>Matrice d'adjacence du graphe</returns>
        </member>
        <member name="M:Graphs.Graph.findNode(System.String)">
            <summary>
            Permet de trouver un Node par son id.
            </summary>
            <param name="id">id du Node à trouver</param>
            <returns>Node ayant l'id passé en paramètre. Si aucun Node n'est trouvé alors la méthode retourne null.</returns>
        </member>
        <member name="M:Graphs.Graph.findNode(Graphs.Node)">
            <summary>
            Permet de trouver un Node dans la liste en le passant en paramétre.
            </summary>
            <param name="node">Node à trouver</param>
            <returns>Recherche le Node dans la liste. Retourne le noeud s'il est trouvé, renvoit null sinon.</returns>
        </member>
        <member name="M:Graphs.Graph.findEdge(System.String)">
            <summary>
            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.
            </summary>
            <param name="id">id de l'Edge à trouver</param>
            <returns>Edge ayant l'id passé en paramètre. Si aucun Edge n'est trouvé alors la méthode retourne null.</returns>
        </member>
        <member name="P:Graphs.Graph.Id">
            <summary>
            Identifiant du graphe. 
            </summary>
        </member>
        <member name="P:Graphs.Graph.Name">
            <summary>
            Nom du graphe permettant de le décrire.
            </summary>
        </member>
        <member name="P:Graphs.Graph.ListNodes">
            <summary>
            Liste des noeuds du graphe.
            </summary>
        </member>
        <member name="P:Graphs.Graph.ListEdges">
            <summary>
            Liste des arcs/arêtes du graphe.
            </summary>
        </member>
        <member name="P:Graphs.Graph.IsDirected">
            <summary>
            Permet d'indiquer si le graphe est orienté ou non.
            </summary>
            <value>true pour un graphe orienté</value>
            <value>false pour un graphe non orienté</value>
        </member>
        <member name="T:Graphs.Label">
            <summary>
            Permet d'attribuer des valeurs à un noeud ou à un arc. Cette classe doit être héritée par l'utilisateur de la librairie pour la spécifier et ainsi l'utiliser dans son étude. Il est important que tous les Node aient le même type de Label, idem pour les Edge.
            </summary>
        </member>
        <member name="M:Graphs.Label.toString">
            <summary>
            Permet d'afficher la description du Label pour que l'utilisateur puisse voir et comprendre les valeurs qu'il contient.
            </summary>
            <returns>Chaîne des caractères pouvant être affiché à l'utilisateur</returns>
        </member>
        <member name="M:Graphs.Label.dissimilarity(Graphs.Label)">
            <summary>
            Indique la dissimilarité entre deux Label de même type utilisateur. Cette dissimilarité sera notamment utilisée pour conclure sur l'isomorphisme entre deux graphes. 
            </summary>
            <param name="label">Label avec lequel la dissimilarité doit être calculée</param>
            <returns> Dissimilarité entre les deux Label. Lorsque ces deux Label sont considérés comme identiques par l'utilisateur alors la méthode doit retourner 0.</returns>
        </member>
        <member name="M:Graphs.Label.toAttributes">
            <summary>
            Permet de faire le mapping du Label vers le fichier GXL. Lorsque l'utilisateur à créé sont propre graphe avec ses propres Label, alors il est nécessaire d'utiliser cette méthode afin que les Label puissent être écrits dans le fichier GXL.
            </summary>
            <returns>Liste d'AttributeGXL représentant le Label. </returns>
        </member>
        <member name="M:Graphs.Label.fromAttributes(System.Collections.Generic.List{Graphs.AttributeGXL})">
            <summary>
            Permet de faire le mapping du fichier GXL vers les Label. Lors de la lecture du fichier GXL, les Label sont stockés sous forme d'AttributeGXL dans Node et Edge. Il faut alors indiquer comment faire le mapping entre l'AttributeGXL et le Label.
            </summary>
            <param name="attributes">Liste d'AttributeGXL contenant les informations sur les valeurs du Label</param>
        </member>
        <member name="T:Graphs.Node">
            <summary>
            Modélise un noeud d'un graphe.
            </summary>
        </member>
        <member name="F:Graphs.Node.listEdgesIn">
            <summary>
            Liste des arcs entrants. Lorsqu'un graphe est non orienté, alors ListeEdgesIn est vide car toutes les arêtes sont contenus dans <c>listeEdgesOut</c>
            </summary>
        </member>
        <member name="F:Graphs.Node.listEdgesOut">
            <summary>
            Liste des arcs sortants. Lorsqu'un graphe est non orienté, alors ListEdgesOut contient toutes les arêtes du noeud.
            </summary>
        </member>
        <member name="M:Graphs.Node.#ctor">
            <summary>
            Initialise le noeud avec les valeurs par défaut.
            </summary>
            <value>Id = null</value>
            <value>Label = null</value>
        </member>
        <member name="M:Graphs.Node.#ctor(System.String)">
            <summary>
            Initialise le noeud avec son identifiant. Il n'y a ici aucune vérification sur id. La vérification se fait dans Graph.addNode.
            </summary>
            <param name="id">Id du noeud </param>
        </member>
        <member name="M:Graphs.Node.compareDegree(Graphs.Node)">
            <summary>
            La fonction compareDegree permet de comparer le degré du Node en paramètre avec le noeud actuel (this).
            </summary>
            <param name="node">Node à comparer</param>
            <returns>Retourne 0 si les degrés sont égaux, 1 si le noeud actuel a un degré plus élevé et -1 sinon</returns>
        </member>
        <member name="P:Graphs.Node.ListEdgesIn">
            <summary>
            Liste des arcs entrants. Lorsqu'un graphe est non orienté, alors ListeEdgesIn est vide car toutes les arêtes sont contenues dans ListeEdgesOut.
            </summary>
        </member>
        <member name="P:Graphs.Node.ListEdgesOut">
            <summary>
            Liste des arcs sortants. Lorsqu'un graphe est non orienté, alors listEdgesOut contient toutes les arêtes du noeud.
            </summary>
        </member>
        <member name="M:Graphs.IOGraph.loadGXL(System.String,Graphs.Label,Graphs.Label)">
            <summary>
            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.
            </summary>
            <param name="url">Adresse complète du fichier GXL à charger</param>
        </member>
        <member name="M:Graphs.IOGraph.attributesToLabel(Graphs.Graph,Graphs.Label,Graphs.Label)">
            <summary>
            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.
            </summary>
            <param name="labelNode">Objet héritant de Label initialisant tous les Node.Label au bon type</param>
            <param name="labelEdge">Objet héritant de Label initialisant tous les Edge.Label au bon type</param>
        </member>
        <member name="M:Graphs.IOGraph.labelToAttributes(Graphs.Graph)">
            <summary>
            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.
            </summary>
        </member>
        <member name="M:Graphs.IOGraph.saveToGXL(Graphs.Graph,System.String)">
            <summary>
            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.
            </summary>
            <param name="url">Adresse complète du fichier GXL à enregistrer</param>
        </member>
        <member name="M:Graphs.IOGraph.loadGXL(Graphs.Graph,System.String)">
            <summary>
            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.
            </summary>
            <param name="url">Adresse complète du fichier GXL à charger</param>
        </member>
        <member name="M:Graphs.GraphDisplay.ExecuteCommandNoWait(System.String,System.String)">
            <summary>
            Executes a shell command synchronously.
            </summary>
            <param name="command">string command</param>
            <returns>string, as output of the command.</returns>
        </member>
        <member name="M:Graphs.GraphDisplay.ExecuteCommandWait(System.String,System.String)">
            <summary>
            Executes a shell command synchronously.
            </summary>
            <param name="command">string command</param>
            <returns>string, as output of the command.</returns>
        </member>
        <member name="M:Graphs.GraphDisplay.ExecuteCommandSync(System.Object)">
            <summary>
            Executes a shell command synchronously.
            </summary>
            <param name="command">string command</param>
            <returns>string, as output of the command.</returns>
        </member>
        <member name="M:Graphs.GraphDisplay.ExecuteCommandAsync(System.String)">
            <summary>
            Execute the command Asynchronously.
            </summary>
            <param name="command">string command.</param>
        </member>
    </members>
</doc>
