infovis.graph.visualization
Class GraphVisualization

java.lang.Object
  extended by infovis.utils.ChangeManager
      extended by infovis.column.AbstractColumn
          extended by infovis.column.ColumnProxy
              extended by infovis.table.TableProxy
                  extended by infovis.visualization.DefaultVisualization
                      extended by infovis.graph.visualization.GraphVisualization
All Implemented Interfaces:
IntComparator, Column, Graph, GraphChangedListener, Metadata, Constants, Table, RowComparator, Visualization, LabeledComponent, Orientable, Serializable, EventListener, ChangeListener, TableModelListener, SwingConstants, TableModel
Direct Known Subclasses:
MatrixAxisVisualization, MatrixVisualization, NodeLinkGraphVisualization

public abstract class GraphVisualization
extends DefaultVisualization
implements Graph, GraphChangedListener

Abstract base class for Graph Visualizations.

Version:
$Revision: 1.32 $
Author:
Jean-Daniel Fekete
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface infovis.visualization.magicLens.LabeledComponent
LabeledComponent.LabeledItem
 
Field Summary
 
Fields inherited from class infovis.column.AbstractColumn
MODIFIED_ALL, MODIFIED_NONE
 
Fields inherited from interface infovis.Graph
GRAPH_TYPE, GRAPH_TYPE_DIRECTED, GRAPH_TYPE_UNDIRECTED, NIL
 
Fields inherited from interface infovis.metadata.Constants
CONTRIBUTOR, COVERAGE, CREATOR, DATE, DESCRITION, FORMAT, IDENTIFIER, LANGUAGE, PUBLISHER, RELATION, RIGHTS, SOURCE, SUBJECT, TITLE, TYPE
 
Fields inherited from interface infovis.Visualization
PROPERTY_INTERACTOR, PROPERTY_ITEM_RENDERER, PROPERTY_LAYOUT, PROPERTY_ORIENTATION, PROPERTY_PARENT, PROPERTY_PERMUTATION, PROPERTY_RULERS, VC_DESCRIPTOR_PROPERTY_PREFIX, VISUAL_ALPHA, VISUAL_COLOR, VISUAL_FILTER, VISUAL_HOVER, VISUAL_LABEL, VISUAL_SELECTION, VISUAL_SHAPE, VISUAL_SIZE
 
Fields inherited from interface infovis.visualization.Orientable
DIRECTION, NAME, ORIENTATION_CENTER, ORIENTATION_EAST, ORIENTATION_INVALID, ORIENTATION_NORTH, ORIENTATION_SOUTH, ORIENTATION_WEST, SQRT2
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface infovis.Table
FILTER_COLUMN, INTERNAL_PREFIX, NIL, SELECTION_COLUMN
 
Constructor Summary
GraphVisualization(Graph graph)
           
GraphVisualization(Graph graph, Table table)
          Creates a new GraphVisualization object.
 
Method Summary
 int addEdge(int v1, int v2)
          Adds a new edge between two vertices.
 void addGraphChangedListener(GraphChangedListener l)
          Attaches a GraphChangedListener to the graph.
 int addVertex()
          Adds a new "in" vertex to the graph.
 RowIterator edgeIterator()
          Returns an iterator over the edges of the graph.
 RowIterator edgeIterator(int vertex)
          Returns an iterator over all the edges (incoming and outgoing) of a specified vertex.
 int findEdge(int v1, int v2)
          Returns an edge between two specified vertices.
 int getDegree(int vertex)
          Returns the degree of the vertex, which is inDegree + outDegree.
 int getEdge(int v1, int v2)
          Returns an edge between two specified vertices.
 int getEdgesCount()
          Returns the number of edges in the graph.
 DynamicTable getEdgeTable()
          Returns the edgeTable.
 int getFirstVertex(int edge)
          Returns the first vertex of the specified edge.
 Graph getGraph()
          Returns the graph.
 int getInDegree(int vertex)
          Returns the in degree of the vertex, which is simply the number of incoming edges at the vertex.
 int getInEdgeAt(int vertex, int index)
          Returns the incoming edge of a specified vertrex at a specified index.
 int getOtherVertex(int edge, int vertex)
          Given a specified edge and a vertex on one side of this edge, returns the vertex on the other side.
 int getOutDegree(int vertex)
          Returns the out degree of the vertex, which is simply the number of outgoing edges of the vertex.
 int getOutEdgeAt(int vertex, int index)
          Returns the outgoing edge of a specified vertex at a specified index.
 int getSecondVertex(int edge)
          Returns the second vertex of an edge.
 DynamicTable getVertexTable()
          Returns the vertex Table.
 int getVerticesCount()
          Returns the number of vertices in the graph.
 void graphChanged(GraphChangedEvent e)
           
 RowIterator inEdgeIterator(int vertex)
          Returns an iterator over the incoming edges of specified vertex.
 boolean isDirected()
          Returns true if the graph is directed.
 RowIterator outEdgeIterator(int vertex)
          Returns an iterator over the outgoing edges of a specified vertex.
 void removeEdge(int edge)
          Removes the specified edge.
 void removeGraphChangedListener(GraphChangedListener l)
          Removes a GraphChangedListener from the graph.
 void removeVertex(int vertex)
          Removes the specified vertex from the graph.
 void setDirected(boolean directed)
          Sets the graph to directed or undirected.
 RowIterator vertexIterator()
          Returns an iterator over the vertices of the graph.
 
Methods inherited from class infovis.visualization.DefaultVisualization
addPropertyChangeListener, addPropertyChangeListener, computeMinMax, computeMinMaxFiltered, computeShapes, createLabelItem, dispose, findRectAt, findVisualization, firePropertyChange, firePropertyChange, firePropertyChange, fireVisualColumnDescriptorChanged, freeRectAt, getBounds, getComponent, getFilter, getFisheye, getInteractor, getItemRenderer, getItemRenderer, getItemRenderer, getLayout, getOrientation, getParent, getPermutation, getPreferredSize, getRectAt, getRowAtIndex, getRowCount, getRowIndex, getRulerTable, getSelection, getShapeAt, getShapeBoundsAt, getShapes, getTable, getVisualColumn, getVisualColumnDescriptor, getVisualColumnIterator, getVisualization, getVisualizationBounds, invalidate, invalidate, isFiltered, isInvalidateColumn, isInvalidated, iterator, paint, paintItem, paintItems, paintVisualizations, pickAll, pickAll, pickItem, pickTop, pickTop, print, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, reverseIterator, setFisheye, setInteractor, setItemRenderer, setOrientation, setParent, setPermutation, setShapeAt, setVisualColumn, stateChanged, tableChanged, validateShapes
 
Methods inherited from class infovis.table.TableProxy
addColumn, addTableModelListener, clear, getColumn, getColumnAt, getColumnClass, getColumnCount, getColumnName, getLastRow, getValueAt, indexOf, indexOf, isCellEditable, isRowValid, removeColumn, removeTableModelListener, setColumnAt, setValueAt
 
Methods inherited from class infovis.column.ColumnProxy
addValue, addValueOrNull, capacity, compare, ensureCapacity, getClientProperty, getFormat, getMaxIndex, getMetadata, getMinIndex, getName, getValueAt, getValueClass, hasUndefinedValue, isEmpty, isInternal, isValueUndefined, setFormat, setName, setSize, setValueAt, setValueOrNullAt, setValueUndefined, size
 
Methods inherited from class infovis.column.AbstractColumn
addChangeListener, compareValues, computeValueMap, computeValueMap, equalObj, equals, getLastModifiedRow, toString
 
Methods inherited from class infovis.utils.ChangeManager
disableNotify, enableNotify, getModCount, removeChangeListener
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface infovis.Graph
clear, getName, setName
 
Methods inherited from interface infovis.Metadata
getClientProperty, getMetadata
 
Methods inherited from interface infovis.Column
addChangeListener, addValue, addValueOrNull, capacity, disableNotify, enableNotify, ensureCapacity, getFormat, getMaxIndex, getMinIndex, getName, getValueAt, getValueClass, hasUndefinedValue, isEmpty, isInternal, isValueUndefined, removeChangeListener, setFormat, setName, setSize, setValueAt, setValueOrNullAt, setValueUndefined, size
 
Methods inherited from interface cern.colt.function.IntComparator
compare, equals
 

Constructor Detail

GraphVisualization

public GraphVisualization(Graph graph,
                          Table table)
Creates a new GraphVisualization object.

Parameters:
table - the Table.to pass down.
graph - the Graph

GraphVisualization

public GraphVisualization(Graph graph)
Method Detail

getGraph

public Graph getGraph()
Returns the graph.

Returns:
Graph

addEdge

public int addEdge(int v1,
                   int v2)
Description copied from interface: Graph
Adds a new edge between two vertices.

Specified by:
addEdge in interface Graph
Parameters:
v1 - the first vertex.
v2 - the second vertex.
Returns:
the new edge index.

addVertex

public int addVertex()
Description copied from interface: Graph
Adds a new "in" vertex to the graph.

Specified by:
addVertex in interface Graph
Returns:
the "in" vertex number.

edgeIterator

public RowIterator edgeIterator(int vertex)
Description copied from interface: Graph
Returns an iterator over all the edges (incoming and outgoing) of a specified vertex.

Specified by:
edgeIterator in interface Graph
Parameters:
vertex - the vertex.
Returns:
the iterator over all the edges of the vertex.

outEdgeIterator

public RowIterator outEdgeIterator(int vertex)
Description copied from interface: Graph
Returns an iterator over the outgoing edges of a specified vertex.

Specified by:
outEdgeIterator in interface Graph
Parameters:
vertex - the vertex.
Returns:
the iterator over the outgoing edges of the vertex.

findEdge

public int findEdge(int v1,
                    int v2)
Description copied from interface: Graph
Returns an edge between two specified vertices.

Specified by:
findEdge in interface Graph
Parameters:
v1 - the first vertex.
v2 - the second vertex.
Returns:
an edge between two specified vertices creating one if none exists.

getOutDegree

public int getOutDegree(int vertex)
Description copied from interface: Graph
Returns the out degree of the vertex, which is simply the number of outgoing edges of the vertex.

Specified by:
getOutDegree in interface Graph
Parameters:
vertex - the vertex.
Returns:
The out degree of the vertex.

getDegree

public int getDegree(int vertex)
Description copied from interface: Graph
Returns the degree of the vertex, which is inDegree + outDegree.

Specified by:
getDegree in interface Graph
Parameters:
vertex - the vertex.
Returns:
The degree of the vertex.

getEdge

public int getEdge(int v1,
                   int v2)
Description copied from interface: Graph
Returns an edge between two specified vertices.

Specified by:
getEdge in interface Graph
Parameters:
v1 - the first vertex.
v2 - the second vertex.
Returns:
an edge between two specified vertices or NIL if none exists.

getEdgesCount

public int getEdgesCount()
Description copied from interface: Graph
Returns the number of edges in the graph.

Specified by:
getEdgesCount in interface Graph
Returns:
the number of edges in the graph.

getEdgeTable

public DynamicTable getEdgeTable()
Description copied from interface: Graph
Returns the edgeTable.

Specified by:
getEdgeTable in interface Graph
Returns:
DefaultTable

getFirstVertex

public int getFirstVertex(int edge)
Description copied from interface: Graph
Returns the first vertex of the specified edge. When the graph is directed, this is the source vertex.

Specified by:
getFirstVertex in interface Graph
Parameters:
edge - the edge.
Returns:
the first vertex of an edge or NIL.

getSecondVertex

public int getSecondVertex(int edge)
Description copied from interface: Graph
Returns the second vertex of an edge. When the graph is directed, this is the destination/target vertex.

Specified by:
getSecondVertex in interface Graph
Parameters:
edge - the edge.
Returns:
the second vertex of the edge.

getOtherVertex

public int getOtherVertex(int edge,
                          int vertex)
Description copied from interface: Graph
Given a specified edge and a vertex on one side of this edge, returns the vertex on the other side. If the specified vertex is the first vertex, it returns the second and vice versa.

Specified by:
getOtherVertex in interface Graph
Parameters:
edge - the edge
vertex - the vertex
Returns:
the other vertex or NIL if the vertex is not on any side of the edge.

getVerticesCount

public int getVerticesCount()
Description copied from interface: Graph
Returns the number of vertices in the graph.

Specified by:
getVerticesCount in interface Graph
Returns:
The number of vertices in the graph.

isDirected

public boolean isDirected()
Description copied from interface: Graph
Returns true if the graph is directed.

Specified by:
isDirected in interface Graph
Returns:
true if the graph is directed.

setDirected

public void setDirected(boolean directed)
Description copied from interface: Graph
Sets the graph to directed or undirected.

Specified by:
setDirected in interface Graph
Parameters:
directed - boolean specifying whether the graph is directed or not.

getVertexTable

public DynamicTable getVertexTable()
Description copied from interface: Graph
Returns the vertex Table.

Specified by:
getVertexTable in interface Graph
Returns:
the vertex Table

vertexIterator

public RowIterator vertexIterator()
Description copied from interface: Graph
Returns an iterator over the vertices of the graph.

Specified by:
vertexIterator in interface Graph
Returns:
an iterator over the vertices of the graph

edgeIterator

public RowIterator edgeIterator()
Description copied from interface: Graph
Returns an iterator over the edges of the graph.

Specified by:
edgeIterator in interface Graph
Returns:
an iterator over the edges of the graph

getOutEdgeAt

public int getOutEdgeAt(int vertex,
                        int index)
Description copied from interface: Graph
Returns the outgoing edge of a specified vertex at a specified index.

Specified by:
getOutEdgeAt in interface Graph
Parameters:
vertex - the in vertex of the requested edge
index - the index of the edge in the edge list of the vertex
Returns:
the outgoing edge of a specified vertex at a specified index or NIL.

getInEdgeAt

public int getInEdgeAt(int vertex,
                       int index)
Description copied from interface: Graph
Returns the incoming edge of a specified vertrex at a specified index.

Specified by:
getInEdgeAt in interface Graph
Parameters:
vertex - the out vertex of the requested edge
index - the index of the edge in the edge list of the vertex
Returns:
the incoming edge of a specified vertex at a specified index or NIL.

removeEdge

public void removeEdge(int edge)
Description copied from interface: Graph
Removes the specified edge.

Specified by:
removeEdge in interface Graph
Parameters:
edge - the edge to remove

removeGraphChangedListener

public void removeGraphChangedListener(GraphChangedListener l)
Description copied from interface: Graph
Removes a GraphChangedListener from the graph.

Specified by:
removeGraphChangedListener in interface Graph
Parameters:
l - the GraphChangedListener to remove

addGraphChangedListener

public void addGraphChangedListener(GraphChangedListener l)
Description copied from interface: Graph
Attaches a GraphChangedListener to the graph.

Specified by:
addGraphChangedListener in interface Graph
Parameters:
l - the GraphChangedListener to notify when the graph structure changes.

getInDegree

public int getInDegree(int vertex)
Description copied from interface: Graph
Returns the in degree of the vertex, which is simply the number of incoming edges at the vertex.

Specified by:
getInDegree in interface Graph
Parameters:
vertex - the vertex.
Returns:
The number of incoming edges at this vertex.

inEdgeIterator

public RowIterator inEdgeIterator(int vertex)
Description copied from interface: Graph
Returns an iterator over the incoming edges of specified vertex.

Specified by:
inEdgeIterator in interface Graph
Parameters:
vertex - the vertex
Returns:
an iterator over the incoming edges of the specified vertex

removeVertex

public void removeVertex(int vertex)
Description copied from interface: Graph
Removes the specified vertex from the graph.

Specified by:
removeVertex in interface Graph
Parameters:
vertex - the vertex to remove

graphChanged

public void graphChanged(GraphChangedEvent e)
Specified by:
graphChanged in interface GraphChangedListener


Copyright 2005 by Jean-Daniel Fekete and INRIA, France All rights reserved.