org.eclipse.gef.dot.internal.ui

## Class DotBSplineInterpolator

- java.lang.Object
- - org.eclipse.gef.fx.nodes.AbstractInterpolator
  - - org.eclipse.gef.dot.internal.ui.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 and Description
`DotBSplineInterpolator()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

#### DotBSplineInterpolator

    public DotBSplineInterpolator()

### Method Detail

#### 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`