Class SimpleCatmullRomLink<T>
java.lang.Object
com.dlsc.gemsfx.treeview.link.AbstractLinkStrategy<T>
com.dlsc.gemsfx.treeview.link.SimpleCatmullRomLink<T>
- Type Parameters:
T- the type of the data value stored in each tree node
- All Implemented Interfaces:
LinkStrategy<T>
A
LinkStrategy that draws a smooth cubic Bézier curve between a parent
and a child node.
The control points are placed half a gap away from the start and end points along the primary axis. A directional arrow is added at the child end and oriented along the curve's tangent.
-
Field Summary
Fields inherited from class AbstractLinkStrategy
endX, endY, startX, startY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected 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.Methods inherited from class AbstractLinkStrategy
calculateAngle, calculateAngle, calculateAngle, calculateAngle, calculateEndPoints, createSimpleArrow, drawNodeLink, getTangentAngle, getTangentAngle, getTangentAngle
-
Constructor Details
-
SimpleCatmullRomLink
public SimpleCatmullRomLink()Creates a simple Catmull-Rom link strategy.
-
-
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:
drawLinkin classAbstractLinkStrategy<T>- Parameters:
direction- the layout directionmaxDimensionInLine- the maximum node dimension in the active linestartX- the x-coordinate of the link startstartY- the y-coordinate of the link startendX- the x-coordinate of the link endendY- the y-coordinate of the link endvgap- the vertical gap between levelshgap- the horizontal gap between levels- Returns:
- the nodes used to render the link
-