Class SineWaveDecayLink<T>

java.lang.Object
com.dlsc.gemsfx.treeview.link.AbstractLinkStrategy<T>
com.dlsc.gemsfx.treeview.link.SineWaveDecayLink<T>
Type Parameters:
T - the type of the data value stored in each tree node
All Implemented Interfaces:
LinkStrategy<T>

public class SineWaveDecayLink<T> extends AbstractLinkStrategy<T>
A LinkStrategy that draws a link whose path follows a sine-wave easing curve (specifically a quarter-sine from 0 to π/2).

The path is approximated by 10 line segments whose positions are computed using sin(π/2 · fraction) along the primary axis. This produces a smooth, ease-in-out-style path that starts slowly from the parent, accelerates through the middle, and arrives smoothly at the child. A directional arrow is added at the child end.

  • Constructor Details

    • SineWaveDecayLink

      public SineWaveDecayLink()
  • Method Details

    • drawLink

      protected ArrayList<javafx.scene.Node> drawLink(TreeNodeView.LayoutDirection direction, double maxDimensionInLine, double startX, double startY, double endX, double endY, double vgap, double hgap)
      Draws the link for the given start and end coordinates.
      Specified by:
      drawLink in class AbstractLinkStrategy<T>
      Parameters:
      direction - the layout direction
      maxDimensionInLine - the maximum node dimension in the active line
      startX - the x-coordinate of the link start
      startY - the y-coordinate of the link start
      endX - the x-coordinate of the link end
      endY - the y-coordinate of the link end
      vgap - the vertical gap between levels
      hgap - the horizontal gap between levels
      Returns:
      the nodes used to render the link