BaseNavigationGraph

open class BaseNavigationGraph<V : Vector<V>, A : Transformation<V>, N : ConvexShape<V, A>, E>(vertexSupplier: Supplier<N>?, edgeSupplier: Supplier<E>?, graphType: GraphType) : AbstractBaseGraph<N, E> , NavigationGraph<V, A, N, E> (source)

An implementation of NavigationGraph, deriving from AbstractBaseGraph. The user can specify the GraphType so as to obtain a custom graph (e.g. weighted or not, directed or undirected, etc). AbstractBaseGraph guarantees deterministic ordering for the collection it maintains, as stated in its api documentation. Note that vertices and edges are used as keys inside AbstractBaseGraph, so when choosing their types, you must follow these rules:

  • You must follow the contract defined in java.lang.Object for both equals and hashCode.

  • In particular, if you override either equals or hashCode, you must override them both.

  • Your implementation for hashCode must produce a value which does not change over the lifetime of the object. Further information available here.

Inheritors

Constructors

Link copied to clipboard
constructor(vertexSupplier: Supplier<N>?, edgeSupplier: Supplier<E>?, graphType: GraphType)
constructor(edgeClass: Class<out E>, directed: Boolean)

Properties

Link copied to clipboard
open override var edgeSupplier: Supplier<E?>?
Link copied to clipboard
open override val type: GraphType?
Link copied to clipboard
open override var vertexSupplier: Supplier<N?>?

Functions

Link copied to clipboard
open fun addEdge(sourceVertex: N?, targetVertex: N?): E?
open fun addEdge(sourceVertex: N?, targetVertex: N?, e: E?): Boolean
Link copied to clipboard
open fun addVertex(): N?
open fun addVertex(v: N?): Boolean
Link copied to clipboard
open fun clone(): Any
Link copied to clipboard
open fun containsEdge(e: E?): Boolean
open fun containsEdge(sourceVertex: N?, targetVertex: N?): Boolean
Link copied to clipboard
open fun containsVertex(v: N?): Boolean
Link copied to clipboard
open fun degreeOf(vertex: N?): Int
Link copied to clipboard
open fun edgeSet(): Set<E?>?
Link copied to clipboard
open fun edgesOf(vertex: N?): Set<E?>?
Link copied to clipboard
open fun getAllEdges(sourceVertex: N?, targetVertex: N?): Set<E?>?
Link copied to clipboard
open fun getEdge(sourceVertex: N?, targetVertex: N?): E?
Link copied to clipboard
open fun getEdgeSource(e: E?): N?
Link copied to clipboard
open fun getEdgeSupplier(): Supplier<E?>?
Link copied to clipboard
open fun getEdgeTarget(e: E?): N?
Link copied to clipboard
open fun getEdgeWeight(e: E?): Double
Link copied to clipboard
open fun getType(): GraphType?
Link copied to clipboard
Link copied to clipboard
open fun incomingEdgesOf(vertex: N?): Set<E?>?
Link copied to clipboard
open fun inDegreeOf(vertex: 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
open fun outDegreeOf(vertex: N?): Int
Link copied to clipboard
open fun outgoingEdgesOf(vertex: N?): Set<E?>?
Link copied to clipboard
open fun removeAllEdges(edges: Collection<out E?>?): Boolean
open fun removeAllEdges(sourceVertex: N?, targetVertex: N?): Set<E?>?
Link copied to clipboard
open fun removeAllVertices(vertices: Collection<out N?>?): Boolean
Link copied to clipboard
open fun removeEdge(e: E?): Boolean
open fun removeEdge(sourceVertex: N?, targetVertex: N?): E?
Link copied to clipboard
open fun removeVertex(v: N?): Boolean
Link copied to clipboard
open fun setEdgeSupplier(edgeSupplier: Supplier<E?>?)
Link copied to clipboard
open fun setEdgeWeight(e: E?, weight: Double)
open fun setEdgeWeight(sourceVertex: N?, targetVertex: N?, weight: Double)
Link copied to clipboard
open fun setVertexSupplier(vertexSupplier: Supplier<N?>?)
Link copied to clipboard
open fun vertexSet(): Set<N?>?