Interface LayoutModel2D<V>

Type Parameters:
V - the vertex type
All Superinterfaces:
Iterable<Map.Entry<V,Point2D>>
All Known Implementing Classes:
ListenableLayoutModel2D, MapLayoutModel2D

public interface LayoutModel2D<V> extends Iterable<Map.Entry<V,Point2D>>
A general interface for the 2D layout model. The layout model provides the necessary components to a LayoutAlgorithm2D in order to draw a graph. Its responsibility is to provide the available drawable area, to be able to store and answer queries about vertex coordinates, and to allow someone to fix (make permanent) a vertex location.
Author:
Dimitrios Michail
  • Method Details

    • getDrawableArea

      Box2D getDrawableArea()
      Get the drawable area of the model.
      Returns:
      the drawable area of the model
    • setDrawableArea

      void setDrawableArea(Box2D drawableArea)
      Set the drawable area of the model.
      Parameters:
      drawableArea - the drawable area to use
    • get

      Point2D get(V vertex)
      Get the last location of a particular vertex in the model. May return null if the vertex has not been assigned a location or if the particular implementation does not store the coordinates.
      Parameters:
      vertex - the graph vertex
      Returns:
      the last location of the vertex
    • put

      Point2D put(V vertex, Point2D point)
      Set the location of a vertex.
      Parameters:
      vertex - the graph vertex
      point - the location
      Returns:
      the previous location or null if the vertex did not have a previous location or if the model does not store locations
    • setFixed

      void setFixed(V vertex, boolean fixed)
      Set a point as being a "fixed-point" or not. It is the model's responsibility to make sure that changing the coordinates of a fixed point by calling put(Object, Point2D) has no effect.
      Parameters:
      vertex - a vertex
      fixed - whether it is a fixed point or not.
    • isFixed

      boolean isFixed(V vertex)
      Check whether a vertex is a fixed point. It is the model's responsibility to make sure that changing the coordinates of a fixed point by calling put(Object, Point2D) has no effect.
      Parameters:
      vertex - the vertex
      Returns:
      true if a fixed point, false otherwise
    • collect

      default Map<V,Point2D> collect()
      Collect a map of all vertices locations. May return null if the model does not store locations.
      Returns:
      a map with all the locations
    • iterator

      Iterator<Map.Entry<V,Point2D>> iterator()
      Get an iterator with all vertices' locations. May return an empty iterator if the model does not store locations.
      Specified by:
      iterator in interface Iterable<V>
      Returns:
      an iterator which returns all vertices with their locations. May return an empty iterator if the model does not store locations.