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 S-curve link using a cubic Bézier
approximation of a Catmull-Rom spline.
The control points are placed at half the gap distance along the primary axis, offset toward the child, producing a gentle S-shaped curve that flows naturally between parent and child. A directional arrow is added at the child end, 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()
-
-
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
-