|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.uci.ics.jung.utils.UserDataDelegate
edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph
edu.uci.ics.jung.graph.impl.AbstractSparseGraph
edu.uci.ics.jung.graph.impl.SparseGraph
com.hp.hpl.guess.Graph
com.hp.hpl.guess.StateGraph
| Nested Class Summary |
| Nested classes inherited from class edu.uci.ics.jung.utils.UserDataContainer |
UserDataContainer.CopyAction |
| Field Summary |
| Fields inherited from interface edu.uci.ics.jung.graph.Graph |
DIRECTED_EDGE, NOT_PARALLEL_EDGE, SIMPLE_EDGE, UNDIRECTED_EDGE |
| Fields inherited from interface edu.uci.ics.jung.graph.ArchetypeGraph |
SUBSET_MANAGER |
| Constructor Summary | |
StateGraph(InterpreterAbstraction interp)
create a new graph. |
|
| Method Summary | |
void |
add(PySequence seq)
add nodes and edges from the graph |
DirectedEdge |
addDirectedEdge(Node source,
Node dest)
user's API for adding a new directed edge to the graph and database |
Edge |
addEdge(Edge e)
used to load edges from the database into the graph |
UndirectedEdge |
addEdge(Node node1,
Node node2)
user's API shortcut for adding a new undirected edge. |
Field |
addEdgeField(String fieldName,
int sqlType,
Object defaultValue)
|
Edge |
addEdgeNoCheck(Edge e)
use this if you know the storage object already contains the edge. |
Node |
addNode(Node n)
used to load nodes from the database into the graph |
Node |
addNode(String name)
user's API for adding a new node to the graph and database |
Field |
addNodeField(String fieldName,
int sqlType,
Object defaultValue)
|
UndirectedEdge |
addUndirectedEdge(Node node1,
Node node2)
|
Set |
biComponentClusters()
do Bi-Component Clustering |
void |
binPackLayout()
packs all nodes |
void |
binPackLayout(boolean rescale)
packs all nodes |
void |
centerAfterLayout(boolean state)
should we center after doing a layout disable this to control it yourself |
void |
circleLayout()
places all nodes in a circle |
void |
circleLayout(Field f,
Node c)
places all nodes in a circle with node c in the middle and its neighbors around that center with a radius proportional to field f (all nodes that are not neighbors of c will be left as is) |
void |
circleLayout(Field f,
Node c,
double xorigin,
double yorigin)
places all nodes in a circle with node c in the middle and its neighbors around that center with a radius proportional to field f (all nodes that are not neighbors of c will be left as is) |
static Set |
clusters(Graph graph,
GraphClusterer clusterer)
meta clustering algorithm, takes a clustering algorithm and a graph and returns a set of sets |
void |
colorize(Field f)
|
void |
colorize(Field f,
Color start,
Color end)
|
void |
colorize(Field f,
String start,
String end)
|
void |
computeAbstractRanker(AbstractRanker centrality,
String guessKey)
computes the ranking for nodes or edges and deposits the results based on guessKey |
void |
computeBetweennessCentrality()
|
void |
computeDegreeDistributionRank()
|
void |
computeDegrees()
|
void |
computeHITS()
|
void |
computePageRank(double bias)
|
void |
computeRandomWalkBetweenness()
|
void |
dagLayout()
DAG |
double |
density()
|
Set |
edgeBetweennessClusters(int numEdgesToRemove)
do Edge betweenness clustering |
Set |
exactFlowCommunity(int cohesion)
doesn't do anything right now |
void |
frLayout()
Fruchterman-Rheingold, puts nodes in 1000 x 1000 square |
void |
frLayout(int width,
int height)
Fruchterman-Rheingold into a width x height grid |
void |
gemLayout()
GEM Layout |
EdgeSchema |
getEdgeSchema()
|
Set |
getNodes()
|
NodeSchema |
getNodeSchema()
|
Number |
getNumber(ArchetypeEdge e)
for NumberEdgeValue interface, returns the weight of the given edge. |
Collection |
groupAndSortBy(Field field)
|
Collection |
groupAndSortBy(PySequence seq,
Field field)
|
Collection |
groupAndSortEdgesBy(String field)
|
Collection |
groupAndSortNodesBy(String field)
|
Collection |
groupBy(Field field)
|
Collection |
groupBy(PySequence seq,
Field field)
|
Collection |
groupEdgesBy(String field)
|
Collection |
groupNodesBy(String field)
|
void |
hideDisconnected()
|
void |
isomLayout()
ISOM Layout, asks every 30 seconds if you want to continue |
void |
isomLayout(int max)
ISOM Layout for max steps |
void |
jfrLayout()
the JUNG Fructerman-Rheingold Layout |
void |
jkkLayout1()
the JUNG Kamada-Kawai (regular) |
void |
jkkLayout2()
the JUNG Kamada-Kawai (int) |
void |
jSpringLayout()
the JUNG Spring Layout (seems a little broken). |
void |
jSpringLayout(int max)
run the JUNG spring layout for max iterations |
void |
kkLayout()
Kamada-Kawai, puts nodes in 1000 x 1000 square |
void |
kkLayout(int width,
int height)
Kamada-Kawai into a width x height grid |
void |
layout(Layout lay)
basic layout command, runs until completes or 30 seconds depending on if the layout is iterative |
void |
layout(Layout lay,
int mi)
runs the layout for some number of iterations (mi). |
void |
makeBarabasiAlbertRandom(int vert,
int edges,
int evolve)
|
void |
makeEppsteinRandom(int nodes,
int edges,
int r)
|
void |
makeErdosRenyiRandom(int nodes,
double p)
|
void |
makeFromDL(String filename)
|
void |
makeFromGenerator(GraphGenerator gg)
|
void |
makeFromGML(String filename)
|
void |
makeKleinbergRandom(int nodes,
double clust)
|
void |
makeLattice1DRandom(int nodes,
boolean tor)
|
void |
makeLattice2DRandom(int nodes,
boolean tor)
|
void |
makeSimpleDirectedRandom(int nodes,
int edges)
|
void |
makeSimpleRandom(int nodes,
int edges)
|
void |
mdsLayout()
Multidimensional scaling layout based on edge weight |
void |
morph(int state,
long duration)
|
void |
morph(String state,
long duration)
|
void |
moveLayout(double newX,
double newY)
|
void |
moveLayout(int newX,
int newY)
moves the nodes to a new origin |
void |
physicsLayout()
physics layout, asks every 30 seconds if you want to keep running |
void |
physicsLayout(boolean gather,
int max)
physics layout |
void |
physicsLayout(int max)
run physics layout for max steps |
void |
radialLayout(Node center)
places all nodes in a growing radius around center |
void |
radialLayout(Node center,
PySequence seq)
|
void |
randomLayout()
randomly places nodes in a 1000 x 1000 grid |
void |
randomLayout(int width,
int height)
randomly places nodes in a width x height grid |
void |
readjustEdges()
moves edges so they don't overlap |
Set |
remove(PySequence seq)
remove nodes and edges from the graph |
Set |
removeDisconnected()
|
Set |
removeEdge(Edge e)
remove an edge from the graph |
Set |
removeNode(Node n)
remove a node from the graph |
Set |
removeSelfLoops()
|
void |
rescaleLayout(double percent)
rescales the layout to %percent |
void |
rescaleLayout(double xpercent,
double ypercent)
rescales the layout to %xpercent X %ypercent |
void |
rescaleLayout(int width,
int height)
rescales nodes to fit into width x height |
void |
resizeLinear(Field f,
double start,
double end)
|
void |
resizeRandom(Field f,
double start,
double end)
|
void |
setNumber(ArchetypeEdge edge,
Number number)
needed for NumberEdgeValue interface |
void |
setSynchronous(boolean state)
should layouts run in their own threads? |
Collection |
sortBy(Field field)
|
Collection |
sortBy(PySequence seq,
Field field)
|
void |
springLayout()
spring layout, runs for 30 seconds and asks if you want to continue |
void |
springLayout(int max)
spring layout for max iterations |
void |
sugiyamaLayout()
Sugiyama |
void |
sugiyamaLayout(boolean bends)
Sugiyama |
void |
sugiyamaLayout2()
Sugiyama |
static Color |
toColor(Object object)
|
static double |
toDouble(Object object)
|
void |
translateLayout(double newX,
double newY)
|
void |
translateLayout(int newX,
int newY)
moves the nodes to a new origin |
Set |
weakComponentClusters()
do weak component clustering |
void |
weightedKKLayout()
the JUNG Kamada-Kawai (regular) |
void |
weightedSpringLayout(int min,
int max)
spring layout, runs for 30 seconds and asks if you want to continue |
void |
weightedSpringLayout(int minL,
int maxL,
int max)
spring layout for max iterations |
| Methods inherited from class com.hp.hpl.guess.Graph |
addDirectedEdgeWID, addUndirectedEdgeWID, colorize, colorize, complement, complement, computeAbstractRanker, computePageRank, exportGDF, getEdgeByID, getLastModTime, getNodeByName, getPageRankBias, makeFromGDF, makeFromPajek, removeComplete, removeEdgeComplete, removeNodeComplete, resetLastMod, setIdToEdge, setPageRankBias, setRankerWeightField |
| Methods inherited from class edu.uci.ics.jung.graph.impl.AbstractSparseGraph |
addEdge, addVertex, getEdges, getVertices, isDirected, removeEdge, removeEdges, removeVertex, removeVertices |
| Methods inherited from class edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph |
addListener, copy, getEdgeConstraints, getVertexConstraints, newInstance, numEdges, numVertices, removeAllEdges, removeAllVertices, removeListener, toString |
| Methods inherited from class edu.uci.ics.jung.utils.UserDataDelegate |
addUserDatum, clone, containsUserDatumKey, getUserDatum, getUserDatumCopyAction, getUserDatumKeyIterator, importUserData, removeUserDatum, setUserDataFactory, setUserDatum |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface edu.uci.ics.jung.graph.ArchetypeGraph |
addListener, copy, getEdgeConstraints, getVertexConstraints, newInstance, numEdges, numVertices, removeAllEdges, removeAllVertices, removeListener |
| Methods inherited from interface edu.uci.ics.jung.utils.UserDataContainer |
addUserDatum, clone, containsUserDatumKey, getUserDatum, getUserDatumCopyAction, getUserDatumKeyIterator, importUserData, removeUserDatum, setUserDatum |
| Constructor Detail |
public StateGraph(InterpreterAbstraction interp)
interp - the interpreter| Method Detail |
public Node addNode(Node n)
addNode in class Graphn - the node we're adding
public Node addNode(String name)
addNode in class Graphname - the new node name
public Edge addEdge(Edge e)
addEdge in class Graphe - the edge to add
public Edge addEdgeNoCheck(Edge e)
addEdgeNoCheck in class Graph
public DirectedEdge addDirectedEdge(Node source,
Node dest)
addDirectedEdge in class Graphsource - source nodedest - destinatin node
public UndirectedEdge addUndirectedEdge(Node node1,
Node node2)
addUndirectedEdge in class Graph
public UndirectedEdge addEdge(Node node1,
Node node2)
addEdge in class Graphpublic Set removeNode(Node n)
removeNode in class Graphn - the node to removepublic Set removeEdge(Edge e)
removeEdge in class Graphe - the edge to removepublic Set remove(PySequence seq)
remove in class Graphseq - the nodes + edgespublic void add(PySequence seq)
add in class Graphseq - the nodes + edgespublic Set getNodes()
getNodes in class Graphpublic static Color toColor(Object object)
public static double toDouble(Object object)
public void readjustEdges()
readjustEdges in class Graphpublic void kkLayout()
kkLayout in class Graphpublic void sugiyamaLayout()
sugiyamaLayout in class Graphpublic void sugiyamaLayout(boolean bends)
sugiyamaLayout in class Graphpublic void sugiyamaLayout2()
sugiyamaLayout2 in class Graphpublic void dagLayout()
dagLayout in class Graphpublic void frLayout()
frLayout in class Graphpublic void mdsLayout()
mdsLayout in class Graph
public void moveLayout(int newX,
int newY)
moveLayout in class GraphnewX - newY -
public void moveLayout(double newX,
double newY)
moveLayout in class Graph
public void translateLayout(int newX,
int newY)
translateLayout in class GraphnewX - newY -
public void translateLayout(double newX,
double newY)
translateLayout in class Graph
public void rescaleLayout(int width,
int height)
rescaleLayout in class Graphwidth - the rescale widthheight - the rescale heightpublic void rescaleLayout(double percent)
rescaleLayout in class Graphpercent - the percent to shrink/grow
public void rescaleLayout(double xpercent,
double ypercent)
rescaleLayout in class Graphxpercent - the percent to shrink/growypercent - the percent to shrink/growpublic void radialLayout(Node center)
radialLayout in class Graphcenter - the node to put in the center
public void radialLayout(Node center,
PySequence seq)
radialLayout in class Graphpublic void randomLayout()
randomLayout in class Graph
public void randomLayout(int width,
int height)
randomLayout in class Graphwidth - widthheight - heightpublic void jfrLayout()
jfrLayout in class Graphpublic void jkkLayout1()
jkkLayout1 in class Graphpublic void jkkLayout2()
jkkLayout2 in class Graphpublic void weightedKKLayout()
weightedKKLayout in class Graph
public void frLayout(int width,
int height)
frLayout in class Graphwidth - height -
public void kkLayout(int width,
int height)
kkLayout in class Graphwidth - height -
public void physicsLayout(boolean gather,
int max)
physicsLayout in class Graphgather - merges connected nodes first (not very useful)max - loops max timespublic void physicsLayout()
physicsLayout in class Graphpublic void physicsLayout(int max)
physicsLayout in class Graphmax - the number of stepspublic void jSpringLayout()
jSpringLayout in class Graphpublic void jSpringLayout(int max)
jSpringLayout in class Graphmax - the number of iterationspublic void circleLayout()
circleLayout in class Graphpublic void binPackLayout()
binPackLayout in class Graphpublic void binPackLayout(boolean rescale)
binPackLayout in class Graph
public void circleLayout(Field f,
Node c)
circleLayout in class Graphf - the field to use to calc the radiusc - the node to put in the center
public void circleLayout(Field f,
Node c,
double xorigin,
double yorigin)
circleLayout in class Graphf - the field to use to calc the radiusc - the node to put in the centerxorigin - the x location for the center nodeyorigin - the y location for the center nodepublic void springLayout()
springLayout in class Graphpublic void springLayout(int max)
springLayout in class Graphmax - number of iterations
public void weightedSpringLayout(int min,
int max)
weightedSpringLayout in class Graph
public void weightedSpringLayout(int minL,
int maxL,
int max)
weightedSpringLayout in class Graphmax - number of iterationspublic void gemLayout()
gemLayout in class Graphpublic void isomLayout()
isomLayout in class Graphpublic void isomLayout(int max)
isomLayout in class Graphmax - the number of iterationspublic void layout(Layout lay)
layout in class Graphlay - the layout to runpublic void setSynchronous(boolean state)
public void centerAfterLayout(boolean state)
centerAfterLayout in class Graph
public void layout(Layout lay,
int mi)
layout in class Graphlay - the layout to runmi - the maximum iterationspublic Set biComponentClusters()
biComponentClusters in class Graphpublic Set edgeBetweennessClusters(int numEdgesToRemove)
edgeBetweennessClusters in class GraphnumEdgesToRemove - edges to remove
public Set weakComponentClusters()
weakComponentClusters in class Graphpublic Set exactFlowCommunity(int cohesion)
exactFlowCommunity in class Graph
public static Set clusters(Graph graph,
GraphClusterer clusterer)
graph - the graph to analyzeclusterer - the clustering algorithm to use
public void setNumber(ArchetypeEdge edge,
Number number)
setNumber in interface NumberEdgeValuesetNumber in class Graphpublic Number getNumber(ArchetypeEdge e)
getNumber in interface NumberEdgeValuegetNumber in class Graph
public void computeAbstractRanker(AbstractRanker centrality,
String guessKey)
centrality - the rankerguessKey - the place to put the resultspublic void computeBetweennessCentrality()
computeBetweennessCentrality in class Graphpublic void computePageRank(double bias)
public void computeDegreeDistributionRank()
computeDegreeDistributionRank in class Graphpublic void computeHITS()
computeHITS in class Graphpublic void computeRandomWalkBetweenness()
computeRandomWalkBetweenness in class Graphpublic void computeDegrees()
computeDegrees in class