Class AbstractGraphTransitionJob<V extends VisualVertex,​E extends VisualEdge<V>>

  • Type Parameters:
    V - the vertex type
    E - the edge type
    All Implemented Interfaces:
    GraphJob
    Direct Known Subclasses:
    RelayoutFunctionGraphJob

    public abstract class AbstractGraphTransitionJob<V extends VisualVertex,​E extends VisualEdge<V>>
    extends AbstractGraphVisibilityTransitionJob<V,​E>
    A job to transition vertices in a graph for location and visibility. The parent class handled the opacity callback. The progress of the job is used by this class to move vertices from the the start location to the final destination, where the progress is the percentage of the total move to display.
    • Constructor Detail

      • AbstractGraphTransitionJob

        protected AbstractGraphTransitionJob​(GraphViewer<V,​E> viewer,
                                             boolean useAnimation)
    • Method Detail

      • initializeVertexLocations

        protected abstract void initializeVertexLocations()
        Create the vertex locations that will be transitioned over the life of this animator. The locations are in layout space. This method is expected to update vertexLocations (and optionally edgeArticulationLocations).
      • canShortcut

        public boolean canShortcut()
        Description copied from interface: GraphJob
        Returns true if the job can be told to stop running, but to still perform any final work before being done.
        Specified by:
        canShortcut in interface GraphJob
        Overrides:
        canShortcut in class AbstractAnimatorJob
        Returns:
        true if the job can be shortcut
      • shortcut

        public void shortcut()
        Description copied from interface: GraphJob
        Tells this job to stop running, but to still perform any final work before being done.

        Note: if your job is multi-threaded, then you must make sure to end your thread and work before returning from this method. If that cannot be done in a timely manner, then your GraphJob.canShortcut() should return false.

        Specified by:
        shortcut in interface GraphJob
        Overrides:
        shortcut in class AbstractAnimatorJob
      • installFinalEdgeArticulations

        protected void installFinalEdgeArticulations()
      • calculateDefaultLayoutLocations

        protected LayoutPositions<V,​E> calculateDefaultLayoutLocations()
      • getCurrentLayoutLocations

        protected LayoutPositions<V,​E> getCurrentLayoutLocations()
      • toLocation

        protected java.awt.geom.Point2D toLocation​(V v)
      • clearLocationCache

        protected void clearLocationCache()
      • calculateDefaultLayoutLocations

        public LayoutPositions<V,​E> calculateDefaultLayoutLocations​(java.util.Set<V> verticesToIgnore)
        Calculates default vertex locations for the current graph by using the current layout, excluding those vertices in the given ignore set. The graph, layout and vertices will be unaltered.
        Parameters:
        verticesToIgnore - The set of vertices which should be excluded from the layout process
        Returns:
        The mapping of all arranged vertices to their respective locations