public class LibTW extends GraphLibrary<LibTWVertex,LibTWEdge>
DEFAULTDIRECTED, DEFAULTFORCELOOPFREE, DEFAULTWEIGHTED, directed, graphCreated, SET_STATUS, weighted| Constructor and Description |
|---|
LibTW() |
| Modifier and Type | Method and Description |
|---|---|
void |
checkPrefaceGraph(boolean directed,
boolean weighted,
boolean forceLoopFree,
GraphLibrary<?,?> preface)
Checks whether or not this graph library would be able to create a graph
which is equivalent to the given graph.
|
protected LibTWEdge |
derivAddEdge(LibTWVertex vertex1,
LibTWVertex vertex2)
Must create an edge and add it to the internal graph.
|
protected LibTWVertex |
derivAddVertex()
Must create a vertex and add it to the internal graph.
|
protected void |
derivCreateGraph(boolean directed,
boolean weighted,
boolean forceLoopFree)
Must create the internal graph with the given COnfiguration.
|
protected double |
derivGetEdgeWeight(LibTWEdge edge)
Returns the weight of the given edge.
|
LibTWVertex |
derivGetEndVertex(LibTWEdge edge)
Returns the end point of the given edge.
|
LibTWVertex |
derivGetStartVertex(LibTWEdge edge)
Returns the start point of the given edge.
|
protected void |
derivRemoveEdge(LibTWEdge edge)
Removes the given edge from the internal graph
|
protected void |
derivRemoveVertex(LibTWVertex vertex)
Removes the given vertex from the internal graph.
|
protected void |
derivSetEdgeWeight(LibTWEdge edge,
double weight)
Sets the given weight as the weight of the given edge.
|
protected void |
derivSetVertexIdent(LibTWVertex vertex,
java.lang.String ident)
Changes the identifier of the given vertex.
|
protected GraphConfiguration |
getDefaultGraphConfiguration()
Returns a GraphConfiguration which is working with the respective graph.
|
LibTWEdge |
getEdge(LibTWVertex vertex1,
LibTWVertex vertex2)
Returns the edge which contains the given vertices.
|
int |
getEdgeCount() |
java.lang.Object |
getEdgeData(LibTWEdge edge)
Returns the data of the given edge.
|
java.lang.Iterable<LibTWEdge> |
getEdges() |
java.lang.Object |
getEdgeStatus(LibTWEdge edge)
Returns the status of the given edge in O(1).
|
int |
getIngoingEdgeCount(LibTWVertex vertex)
Returns the amount of ingoing edges of the given vertex.
|
java.lang.Iterable<LibTWEdge> |
getIngoingEdges(LibTWVertex vertex)
Returns all ingoing edges of the given vertex.
|
nl.uu.cs.treewidth.ngraph.NGraph<nl.uu.cs.treewidth.input.GraphInput.InputData> |
getInternalGraph()
Returns the internal graph.
|
java.lang.String |
getLibName()
Returns the (constant) name of the graph library.
|
int |
getOutgoingEdgeCount(LibTWVertex vertex)
Returns the amount of outgoing edges of the given vertex.
|
java.lang.Iterable<LibTWEdge> |
getOutgoingEdges(LibTWVertex vertex)
Returns all outgoing edges of the given vertex.
|
int |
getVertexCount() |
java.lang.Object |
getVertexData(LibTWVertex vertex)
Returns the data of the given vertex.
|
java.lang.String |
getVertexIdent(LibTWVertex vertex)
Returns the identifier of the given vertex.
|
java.lang.Object |
getVertexStatus(LibTWVertex vertex)
Returns the status of the given vertex in O(1).
|
java.lang.Iterable<LibTWVertex> |
getVertices() |
void |
prepareAlgorithmRun()
Called just before an algorithm is executed using this instance.
|
void |
setEdgeData(LibTWEdge edge,
java.lang.Object data)
Sets the data of the given edge.
|
void |
setEdgeStatus(LibTWEdge edge,
java.lang.Object status)
Sets the status of the given edge in O(1).
|
void |
setVertexData(LibTWVertex vertex,
java.lang.Object data)
Sets the data of the given vertex.
|
void |
setVertexStatus(LibTWVertex vertex,
java.lang.Object status)
Sets the status of the given vertex in O(1).
|
addEdge, addEdge, addEdge, addEdgeByIdent, addGraphListener, addVertex, addVertex, addVertex, addVertex, asConfigurated, clearAlgorithmResults, clearDates, clearEdgeData, clearEdgeDates, clearEdgeStates, clearEdgeStatus, clearGraph, clearStates, clearVertexData, clearVertexDates, clearVertexStates, clearVertexStatus, copyFromExistingGraph, copyFromExistingGraph, copyToGraph, copyToGraph, copyToGraph, createDefaultGraph, createGraph, createGraph, createGraph, createGraph, createGraphUnchecked, createGraphUnchecked, createMetaEdge, deleteLoops, deleteWarning, derivCopyFromExistingGraph, edgeExists, edgeExistsByIdent, edgesToString, edgeToString, enableLoops, forceLoopFree, getAlgorithmResult, getAverageDegree, getEdgeByIdent, getEdgeName, getEdgeWeight, getEdgeWeight, getEdgeWeightByIdent, getEndVertex, getEndVertex, getGraphId, getIncidentEdges, getMarkedEdgeCount, getMarkedVertexCount, getMaximumDegree, getMinimumDegree, getName, getNeighborCount, getNeighbors, getNextVertexIdentifier, getStartVertex, getUnmarkedNeighborCount, getVertexByIdent, getVertexByIdent, getVertexIdentUnchecked, getVertexStdPrefix, getVisualElements, graphModified, hasAlgorithmResult, hasEdgeData, hasVertexData, isDirected, isEdgeMarkedAsDeleted, isEdgeStatusSet, isEmpty, isForceLoopFree, isGraphCreated, isLoopFree, isVertexMarkedAsDeleted, isVertexStatusSet, isWeighted, markEdgeAsDeleted, markVertexAsDeleted, mergeGraph, metaEdgeToString, pollWarning, printWarning, putWarning, refresh, removeAlgorithmResult, removeEdge, removeEdge, removeEdge, removeEdgeDeletionMark, removeGraphListener, removeVertex, removeVertex, removeVertexDeletionMark, resolveVertexName, setAlgorithmResult, setBlockCacheOutput, setDirected, setEdgeDates, setEdgeStates, setEdgeWeight, setName, setVertexDates, setVertexIdent, setVertexStates, setVertexStatus, setVertexStdPrefix, supportsCopyFromExistingGraph, toString, vertexExistsByIdent, vertexToString, verticesToStringprotected LibTWEdge derivAddEdge(LibTWVertex vertex1, LibTWVertex vertex2)
GraphLibraryderivAddEdge in class GraphLibrary<LibTWVertex,LibTWEdge>vertex1 - The first endpoint.vertex2 - The second endpoint.protected LibTWVertex derivAddVertex()
GraphLibraryderivAddVertex in class GraphLibrary<LibTWVertex,LibTWEdge>protected void derivCreateGraph(boolean directed,
boolean weighted,
boolean forceLoopFree)
throws InvalidGraphConfigException
GraphLibraryderivCreateGraph in class GraphLibrary<LibTWVertex,LibTWEdge>directed - Determines, whether the graph shall be directed.weighted - Determines, whether the graph shall be weighted.forceLoopFree - Determines, whether it is impossible to add loops into the
graphInvalidGraphConfigException - If the given configuration is notpublic void checkPrefaceGraph(boolean directed,
boolean weighted,
boolean forceLoopFree,
GraphLibrary<?,?> preface)
throws InvalidGraphConfigException
GraphLibrarycheckPrefaceGraph in class GraphLibrary<LibTWVertex,LibTWEdge>preface - the graph to check.InvalidGraphConfigException - if this graph library is not able to create an equivalent
graph to the given graph.protected double derivGetEdgeWeight(LibTWEdge edge)
GraphLibraryderivGetEdgeWeight in class GraphLibrary<LibTWVertex,LibTWEdge>public LibTWVertex derivGetStartVertex(LibTWEdge edge)
GraphLibraryderivGetStartVertex in class GraphLibrary<LibTWVertex,LibTWEdge>public LibTWVertex derivGetEndVertex(LibTWEdge edge)
GraphLibraryderivGetEndVertex in class GraphLibrary<LibTWVertex,LibTWEdge>protected void derivRemoveEdge(LibTWEdge edge)
GraphLibraryderivRemoveEdge in class GraphLibrary<LibTWVertex,LibTWEdge>edge - The edge which shall be removedprotected void derivRemoveVertex(LibTWVertex vertex)
GraphLibraryderivRemoveVertex in class GraphLibrary<LibTWVertex,LibTWEdge>vertex - The vertex which shall be removedprotected void derivSetEdgeWeight(LibTWEdge edge, double weight)
GraphLibraryderivSetEdgeWeight in class GraphLibrary<LibTWVertex,LibTWEdge>protected void derivSetVertexIdent(LibTWVertex vertex, java.lang.String ident)
GraphLibraryderivSetVertexIdent in class GraphLibrary<LibTWVertex,LibTWEdge>vertex - The vertex its identifier shall be setident - The new identifierpublic LibTWEdge getEdge(LibTWVertex vertex1, LibTWVertex vertex2)
GraphLibrarygetEdge in class GraphLibrary<LibTWVertex,LibTWEdge>vertex1 - The first vertex (start point if the graph is directed)vertex2 - The second vertex (end point if the graph is directed)public java.lang.Object getEdgeData(LibTWEdge edge)
GraphLibrarygetEdgeData in class GraphLibrary<LibTWVertex,LibTWEdge>edge - the edge.public java.lang.Object getEdgeStatus(LibTWEdge edge)
GraphLibrarygetEdgeStatus in class GraphLibrary<LibTWVertex,LibTWEdge>edge - the edge.public java.lang.Iterable<LibTWEdge> getEdges()
getEdges in class GraphLibrary<LibTWVertex,LibTWEdge>public int getEdgeCount()
getEdgeCount in class GraphLibrary<LibTWVertex,LibTWEdge>public int getIngoingEdgeCount(LibTWVertex vertex)
GraphLibrarygetIngoingEdgeCount in class GraphLibrary<LibTWVertex,LibTWEdge>public java.lang.Iterable<LibTWEdge> getIngoingEdges(LibTWVertex vertex)
GraphLibrarygetIngoingEdges in class GraphLibrary<LibTWVertex,LibTWEdge>public int getOutgoingEdgeCount(LibTWVertex vertex)
GraphLibrarygetOutgoingEdgeCount in class GraphLibrary<LibTWVertex,LibTWEdge>public java.lang.Iterable<LibTWEdge> getOutgoingEdges(LibTWVertex vertex)
GraphLibrarygetOutgoingEdges in class GraphLibrary<LibTWVertex,LibTWEdge>public nl.uu.cs.treewidth.ngraph.NGraph<nl.uu.cs.treewidth.input.GraphInput.InputData> getInternalGraph()
GraphLibrarygetInternalGraph in class GraphLibrary<LibTWVertex,LibTWEdge>public java.lang.String getLibName()
GraphLibrarygetLibName in class GraphLibrary<LibTWVertex,LibTWEdge>public int getVertexCount()
getVertexCount in class GraphLibrary<LibTWVertex,LibTWEdge>public java.lang.Object getVertexData(LibTWVertex vertex)
GraphLibrarygetVertexData in class GraphLibrary<LibTWVertex,LibTWEdge>vertex - the vertex.public java.lang.String getVertexIdent(LibTWVertex vertex)
GraphLibrarygetVertexIdent in class GraphLibrary<LibTWVertex,LibTWEdge>vertex - The vertex its identifier shall be returnedpublic java.lang.Object getVertexStatus(LibTWVertex vertex)
GraphLibrarygetVertexStatus in class GraphLibrary<LibTWVertex,LibTWEdge>vertex - the vertex.public java.lang.Iterable<LibTWVertex> getVertices()
getVertices in class GraphLibrary<LibTWVertex,LibTWEdge>public void setEdgeData(LibTWEdge edge, java.lang.Object data)
GraphLibrarysetEdgeData in class GraphLibrary<LibTWVertex,LibTWEdge>edge - the edge of which the data shall be set.data - the new data.public void setEdgeStatus(LibTWEdge edge, java.lang.Object status)
GraphLibrarysetEdgeStatus in class GraphLibrary<LibTWVertex,LibTWEdge>edge - the edge of which the status shall be set.status - the new status to set.public void setVertexData(LibTWVertex vertex, java.lang.Object data)
GraphLibrarysetVertexData in class GraphLibrary<LibTWVertex,LibTWEdge>vertex - the vertex of which thee status shall be set.data - the new data to set.public void setVertexStatus(LibTWVertex vertex, java.lang.Object status)
GraphLibrarysetVertexStatus in class GraphLibrary<LibTWVertex,LibTWEdge>vertex - the vertex of which the status shall be set.status - the new status to set.protected GraphConfiguration getDefaultGraphConfiguration()
GraphLibrarygetDefaultGraphConfiguration in class GraphLibrary<LibTWVertex,LibTWEdge>public void prepareAlgorithmRun()
GraphLibraryprepareAlgorithmRun in class GraphLibrary<LibTWVertex,LibTWEdge>