Class BaseNavigationGraph

  • All Implemented Interfaces:
    it.unibo.alchemist.model.geometry.navigationgraph.NavigationGraph , java.io.Serializable , kotlin.Cloneable , org.jgrapht.Graph

    
    public class BaseNavigationGraph<V extends Vector<V>, A extends Transformation<V>, N extends ConvexShape<V, A>, E extends Object>
    extends AbstractBaseGraph<N, E> implements NavigationGraph<V, A, N, E>
                        

    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.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      • Methods inherited from class org.jgrapht.Graph

        addEdge, addEdge, addVertex, addVertex, containsEdge, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getEdgeWeight, getType, getVertexSupplier, inDegreeOf, incomingEdgesOf, iterables, outDegreeOf, outgoingEdgesOf, removeAllEdges, removeAllEdges, removeAllVertices, removeEdge, removeEdge, removeVertex, setEdgeWeight, setEdgeWeight, vertexSet
      • Methods inherited from class org.jgrapht.graph.AbstractBaseGraph

        clone, setEdgeSupplier, setVertexSupplier
      • Methods inherited from class it.unibo.alchemist.model.geometry.navigationgraph.NavigationGraph

        nodeContaining
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BaseNavigationGraph

        BaseNavigationGraph(Class<out E> edgeClass, Boolean directed)
      • BaseNavigationGraph

        BaseNavigationGraph(Supplier<N> vertexSupplier, Supplier<E> edgeSupplier, GraphType graphType)
    • Method Detail