Package org.eclipse.gef.dot.internal.ui.conversion

# Class DotBSplineInterpolator

java.lang.Object
org.eclipse.gef.fx.nodes.AbstractInterpolator
org.eclipse.gef.dot.internal.ui.conversion.DotBSplineInterpolator

All Implemented Interfaces:
  `org.eclipse.gef.fx.nodes.IConnectionInterpolator`

public class DotBSplineInterpolator extends org.eclipse.gef.fx.nodes.AbstractInterpolator
A `DotBSplineInterpolator` is an `interpolator` that creates a `PolyBezier` geometry corresponding to a single B-spline. It expects that the start, end, and control points of the `Connection` it routes correspond to what can be specified through the 'pos' attribute of the edges within Graphviz DOT as follows (if multiple splines are specified through the 'pos' attribute, they have to be represented through multiple connections).

The `DotBSplineInterpolator` expects that the connection's `control points` represent control points of connected cubic Bézier segments in the form 'p, (p, p, p)+'. In case the start point equals the first control point, or the end point equals the last control point, they are ignored when constructing the B-spline. In case this is not the case, linear segments are added from the start point to the first control point and from the last control point to the end point, respectively.

## Constructor Summary

Constructors
Constructor
Description
`DotBSplineInterpolator()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`arrangeDecoration(javafx.scene.Node decoration, org.eclipse.gef.geometry.planar.Point offset, org.eclipse.gef.geometry.euclidean.Vector direction)`
`protected org.eclipse.gef.geometry.planar.ICurve`
`computeCurve(org.eclipse.gef.fx.nodes.Connection connection)`
`protected org.eclipse.gef.geometry.planar.Point`
`getProjectionReferencePoint(org.eclipse.gef.fx.anchors.DynamicAnchor anchor, org.eclipse.gef.fx.anchors.AnchorKey anchorKey)`

### Methods inherited from class org.eclipse.gef.fx.nodes.AbstractInterpolator

`clipAtDecoration, interpolate`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DotBSplineInterpolator

public DotBSplineInterpolator()

## Method Details

### computeCurve

protected org.eclipse.gef.geometry.planar.ICurve computeCurve(org.eclipse.gef.fx.nodes.Connection connection)

Specified by:
  `computeCurve` in class `org.eclipse.gef.fx.nodes.AbstractInterpolator`

### getProjectionReferencePoint

protected org.eclipse.gef.geometry.planar.Point getProjectionReferencePoint(org.eclipse.gef.fx.anchors.DynamicAnchor anchor, org.eclipse.gef.fx.anchors.AnchorKey anchorKey)

### arrangeDecoration

protected void arrangeDecoration(javafx.scene.Node decoration, org.eclipse.gef.geometry.planar.Point offset, org.eclipse.gef.geometry.euclidean.Vector direction)

Overrides:
  `arrangeDecoration` in class `org.eclipse.gef.fx.nodes.AbstractInterpolator`