entorno.grafo
Class Graph

java.lang.Object
  extended by entorno.grafo.Graph
All Implemented Interfaces:
java.io.Serializable

public class Graph
extends java.lang.Object
implements java.io.Serializable

Clase: Graph Funcion: Tipo abstracto de datos Graph. Soporta grafos dirigidos y no dirigidos y nodos y aristas con pesos.

See Also:
Serialized Form

Nested Class Summary
static class Graph.Edge
           
static class Graph.Node
           
 
Field Summary
 java.io.File filename
           
 boolean isDirected
           
 java.util.Map Nodes
           
 boolean showEdgeText
           
 boolean showNodeText
           
 boolean weightedEdges
           
 boolean weightedNodes
           
 
Constructor Summary
Graph()
           
 
Method Summary
 boolean addEdge(Graph.Node firstNode, Graph.Node secondNode, java.awt.Color colo)
          Añade una arista entre 2 nodos dados
 boolean addEdge(Graph.Node firstNode, Graph.Node secondNode, float weight)
          Añade una arista con peso
 boolean addEdge(java.lang.String nameOfFirst, java.lang.String nameOfSecond, java.awt.Color colo)
          Añade una arista entre 2 nodos por los nombres dados
 boolean addEdge(java.lang.String nameOfFirst, java.lang.String nameOfSecond, float weight)
          Añade una arista con peso
 void addNode(java.lang.String name, java.awt.Point position, float weight, java.awt.Color color, boolean predef, boolean defFULL)
          Añade un nodo al grafo
 boolean adjacent(Graph.Node firstNode, Graph.Node secondNode)
          Comprueba que existe una arista entre 2 nodos
 void anadirArista(java.lang.String nomNodo1, java.lang.String nomNodo2, java.awt.Color color)
          añade una arista sin peso y con color al grafo dirigido
 void anadirNodo(java.lang.String nombre, java.awt.Point posicion, java.awt.Color color, boolean predef, boolean defFULL)
          Añade un nodo sin peso al grafo dirigido
 Graph.Edge findEdge(Graph.Node firstNode, Graph.Node secondNode)
          Encuentra la 1ª arista entre 2 nodos
 Graph.Edge findEdge(java.lang.String nameOfFirst, java.lang.String nameOfSecond)
          Encuntra la 1ª arista entre 2 nodos
 Graph.Edge findLastEdge(Graph.Node firstNode, Graph.Node secondNode)
          Encuentra la ultima arista entre 2 nodos
private  int findMaxCurve(Graph.Node firstNode, Graph.Node secondNode)
          Encuentra la ultima arista entre 2 nodos
 Graph.Node findNode(java.lang.String name)
          Encuentra el nodo dado por el nombre name
 Graph makeCopy()
          Hace una copia del Grafo
 Graph makeCopySinAristas()
          Hace una copia del Grafo
 Graph makeUndirectedCopy()
          Copia un grafo no dirigido
 boolean removeEdge(Graph.Node firstNode, Graph.Node secondNode)
          Borra una arista entre 2 nodos
 boolean removeNode(Graph.Node n)
          Borra el nodo dado n
 boolean removeNode(java.lang.String name)
          Borra el nodo dado por el nombre name
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

filename

public transient java.io.File filename

Nodes

public java.util.Map Nodes

isDirected

public boolean isDirected

weightedNodes

public boolean weightedNodes

weightedEdges

public boolean weightedEdges

showNodeText

public boolean showNodeText

showEdgeText

public boolean showEdgeText
Constructor Detail

Graph

public Graph()
Method Detail

anadirNodo

public void anadirNodo(java.lang.String nombre,
                       java.awt.Point posicion,
                       java.awt.Color color,
                       boolean predef,
                       boolean defFULL)
Añade un nodo sin peso al grafo dirigido


anadirArista

public void anadirArista(java.lang.String nomNodo1,
                         java.lang.String nomNodo2,
                         java.awt.Color color)
añade una arista sin peso y con color al grafo dirigido


addNode

public void addNode(java.lang.String name,
                    java.awt.Point position,
                    float weight,
                    java.awt.Color color,
                    boolean predef,
                    boolean defFULL)
Añade un nodo al grafo


removeNode

public boolean removeNode(Graph.Node n)
Borra el nodo dado n


removeNode

public boolean removeNode(java.lang.String name)
Borra el nodo dado por el nombre name


findNode

public Graph.Node findNode(java.lang.String name)
Encuentra el nodo dado por el nombre name


addEdge

public boolean addEdge(java.lang.String nameOfFirst,
                       java.lang.String nameOfSecond,
                       java.awt.Color colo)
Añade una arista entre 2 nodos por los nombres dados


addEdge

public boolean addEdge(Graph.Node firstNode,
                       Graph.Node secondNode,
                       java.awt.Color colo)
Añade una arista entre 2 nodos dados


addEdge

public boolean addEdge(java.lang.String nameOfFirst,
                       java.lang.String nameOfSecond,
                       float weight)
Añade una arista con peso


addEdge

public boolean addEdge(Graph.Node firstNode,
                       Graph.Node secondNode,
                       float weight)
Añade una arista con peso


findEdge

public Graph.Edge findEdge(java.lang.String nameOfFirst,
                           java.lang.String nameOfSecond)
Encuntra la 1ª arista entre 2 nodos


findEdge

public Graph.Edge findEdge(Graph.Node firstNode,
                           Graph.Node secondNode)
Encuentra la 1ª arista entre 2 nodos


findLastEdge

public Graph.Edge findLastEdge(Graph.Node firstNode,
                               Graph.Node secondNode)
Encuentra la ultima arista entre 2 nodos


findMaxCurve

private int findMaxCurve(Graph.Node firstNode,
                         Graph.Node secondNode)
Encuentra la ultima arista entre 2 nodos


adjacent

public boolean adjacent(Graph.Node firstNode,
                        Graph.Node secondNode)
Comprueba que existe una arista entre 2 nodos


removeEdge

public boolean removeEdge(Graph.Node firstNode,
                          Graph.Node secondNode)
Borra una arista entre 2 nodos


makeCopy

public Graph makeCopy()
Hace una copia del Grafo


makeUndirectedCopy

public Graph makeUndirectedCopy()
Copia un grafo no dirigido


makeCopySinAristas

public Graph makeCopySinAristas()
Hace una copia del Grafo