com.mindfusion.graphs
Class Graph
java.lang.Object
com.mindfusion.graphs.Graph
- Direct Known Subclasses:
- DualGraph
public class Graph
- extends java.lang.Object
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
vertices
protected java.util.ArrayList<Vertex> vertices
edges
protected java.util.ArrayList<Edge> edges
searchOrder
public int[] searchOrder
vertexCopyToOrigMap
public java.util.HashMap<Vertex,Vertex> vertexCopyToOrigMap
edgeCopyToOrigMap
public java.util.HashMap<Edge,Edge> edgeCopyToOrigMap
vertexOrigToCopyMap
public java.util.HashMap<Vertex,Vertex> vertexOrigToCopyMap
edgeOrigToCopyMap
public java.util.HashMap<Edge,Edge> edgeOrigToCopyMap
Graph
public Graph()
Graph
public Graph(Graph graph,
boolean saveMapping)
AddEdge
public Edge AddEdge(Vertex origin,
Vertex destination)
AddEdge
public void AddEdge(Edge edge)
RemoveAllEdges
public void RemoveAllEdges()
GetConnectedComponents
public Graph[] GetConnectedComponents()
GetEdgeConnectedComponents
public Graph[] GetEdgeConnectedComponents()
GetBiconnectedComponents
public Graph[] GetBiconnectedComponents()
GetBiconnectedComponents
public Graph[] GetBiconnectedComponents(boolean saveMapping)
MakeBiconnected
public java.util.ArrayList<Edge> MakeBiconnected()
GetConnectedComponentsQuickFind
public Graph[] GetConnectedComponentsQuickFind()
GetConnectedComponentsQuickUnion
public Graph[] GetConnectedComponentsQuickUnion()
DepthFirstSearch
public void DepthFirstSearch()
GetStNumbering
public java.util.ArrayList<Vertex> GetStNumbering()
ConvertToStGraph
public void ConvertToStGraph(java.util.ArrayList<Edge> reversedEdges)
IsPlanar
public boolean IsPlanar()
GetPlanarEmbedding
public Embedding GetPlanarEmbedding()
GetPlanarSubgraph
public Graph GetPlanarSubgraph(java.util.ArrayList<Edge> edgesToDelete)
Planarize
public Graph Planarize(java.util.HashMap<Edge,java.util.ArrayList<Edge>> edgeToDummyEdgesMap)
RemoveEdge
public void RemoveEdge(Edge e)
FindShortestPath
public java.util.ArrayList<Vertex> FindShortestPath(Vertex v1,
Vertex v2)
FindShortestPath
public java.util.ArrayList<Vertex> FindShortestPath(Vertex v1,
Set<Vertex> destSet)
FindShortestPath
public java.util.ArrayList<Vertex> FindShortestPath(Set<Vertex> originSet,
Set<Vertex> destSet)
GetDualGraph
public DualGraph GetDualGraph(boolean cacheIncidentFaces)
TopologicalSort
public int[] TopologicalSort()
reverse
public static void reverse(int[] b)
GetWeightedTopologicalNumbering
public float[] GetWeightedTopologicalNumbering()
GetWeightedTopologicalNumbering
public float[] GetWeightedTopologicalNumbering(float minNumber)
GetWeightedTopologicalNumbering
public float[] GetWeightedTopologicalNumbering(int[] tsort,
float minNumber)
SplitToMaxDegree
public java.util.HashMap<Vertex,Graph> SplitToMaxDegree(int maxDegree)
SplitToMaxDegree
public Graph SplitToMaxDegree(Vertex vertex,
int maxDegree)
MakeAcyclic
public java.util.ArrayList<Edge> MakeAcyclic()
AddVertexAndOutEdges
public void AddVertexAndOutEdges(Vertex vertex)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
getVertices
public java.util.ArrayList<Vertex> getVertices()
getEdges
public java.util.ArrayList<Edge> getEdges()