UndirectedNavigationGraph

class UndirectedNavigationGraph<V : Vector<V>, A : Transformation<V>, N : ConvexShape<V, A>, E>(edgeClass: Class<out E>) : BaseNavigationGraph<V, A, N, E>

An undirected unweighted BaseNavigationGraph, allowing multiple edges between the same pair of vertices and without self-loops (i.e. edges connecting a node to itself).

Constructors

Link copied to clipboard
constructor(edgeClass: Class<out E>)

Properties

Link copied to clipboard
Link copied to clipboard
val type: GraphType
Link copied to clipboard

Functions

Link copied to clipboard
abstract fun addEdge(p0: N, p1: N): E
abstract fun addEdge(p0: N, p1: N, p2: E): Boolean
Link copied to clipboard
abstract fun addVertex(): N
abstract fun addVertex(p0: N): Boolean
Link copied to clipboard
open override fun clone(): Any
Link copied to clipboard
abstract fun containsEdge(p0: E): Boolean
abstract fun containsEdge(p0: N, p1: N): Boolean
Link copied to clipboard
abstract fun containsVertex(p0: N): Boolean
Link copied to clipboard
abstract fun degreeOf(p0: N): Int
Link copied to clipboard
abstract fun edgeSet(): MutableSet<E>
Link copied to clipboard
abstract fun edgesOf(p0: N): MutableSet<E>
Link copied to clipboard
abstract fun getAllEdges(p0: N, p1: N): MutableSet<E>
Link copied to clipboard
abstract fun getEdge(p0: N, p1: N): E
Link copied to clipboard
abstract fun getEdgeSource(p0: E): N
Link copied to clipboard
abstract fun getEdgeTarget(p0: E): N
Link copied to clipboard
abstract fun getEdgeWeight(p0: E): Double
Link copied to clipboard
abstract fun incomingEdgesOf(p0: N): MutableSet<E>
Link copied to clipboard
abstract fun inDegreeOf(p0: N): Int
Link copied to clipboard
open fun iterables(): GraphIterables<N, E>
Link copied to clipboard
open fun nodeContaining(position: V): N?
Link copied to clipboard
abstract fun outDegreeOf(p0: N): Int
Link copied to clipboard
abstract fun outgoingEdgesOf(p0: N): MutableSet<E>
Link copied to clipboard
fun <V> Graph<V, *>.pathExists(source: V, sink: V): Boolean

Checks whether a path exists between source and sink. DijkstraShortestPath is used instead of org.jgrapht.alg.connectivity.ConnectivityInspector.pathExists, because, in case of directed graph, the latter checks whether the given vertices lay in the same weakly connected component, which is not the desired behavior. As unweighted graphs have a default edge weight of 1.0, shortest path algorithms can always be applied meaningfully.

Link copied to clipboard
abstract fun removeAllEdges(p0: MutableCollection<out E>): Boolean
abstract fun removeAllEdges(p0: N, p1: N): MutableSet<E>
Link copied to clipboard
Link copied to clipboard
abstract fun removeEdge(p0: E): Boolean
abstract fun removeEdge(p0: N, p1: N): E
Link copied to clipboard
abstract fun removeVertex(p0: N): Boolean
Link copied to clipboard
abstract fun setEdgeWeight(p0: E, p1: Double)
open fun setEdgeWeight(p0: N, p1: N, p2: Double)
Link copied to clipboard
abstract fun vertexSet(): MutableSet<N>