Package org.eclipse.gef.fx.nodes
Class OrthogonalRouter
java.lang.Object
org.eclipse.gef.fx.nodes.AbstractRouter
org.eclipse.gef.fx.nodes.OrthogonalRouter
- All Implemented Interfaces:
IConnectionRouter
An
IConnectionRouter that interprets the Connection control
points as way points and adjusts the way points (if necessary) so that the
Connection is routed orthogonally.-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.gef.fx.nodes.AbstractRouter
AbstractRouter.ControlPointManipulator, AbstractRouter.VolatileStaticAnchor -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected PointgetAnchoredReferencePoint(List<Point> points, int index) Returns the reference point for the anchor at the given index.protected Vectorroute(AbstractRouter.ControlPointManipulator cpm, Vector inDirection, Vector outDirection) Inserts router anchors where necessary.protected VectorrouteNonOrthogonalSegment(Connection connection, AbstractRouter.ControlPointManipulator controlPointManipulator, Vector inDirection, Vector outDirection, int i, Point currentPoint) This method is called for a non-orthogonal direction from the last point on the connection to the current point on the connection.protected VectorrouteOrthogonalSegment(Connection connection, AbstractRouter.ControlPointManipulator controlPointManipulator, Vector currentDirection, int i, Point currentPoint) This method is called for an orthogonal direction from the last point on the connection to the current point on the connection.protected voidupdateComputationParameters(List<Point> points, int index, DynamicAnchor anchor, AnchorKey key) Update's the reference point of the anchor with the given index.Methods inherited from class org.eclipse.gef.fx.nodes.AbstractRouter
createControlPointManipulator, getAnchorageGeometry, getConnection, insertRouterAnchors, removeVolatileAnchors, route, updateComputationParameters, wasInserted
-
Constructor Details
-
OrthogonalRouter
public OrthogonalRouter()
-
-
Method Details
-
getAnchoredReferencePoint
Returns the reference point for the anchor at the given index.- Specified by:
getAnchoredReferencePointin classAbstractRouter- Parameters:
points- TheConnectionthat is currently routed.index- The index specifying the anchor for which to provide a reference point.- Returns:
- The reference point for the anchor at the given index in the local coordinate system of the anchored, which is the connection's curve.
-
route
protected Vector route(AbstractRouter.ControlPointManipulator cpm, Vector inDirection, Vector outDirection) Description copied from class:AbstractRouterInserts router anchors where necessary. Returns theVectorthat points to the next point.- Overrides:
routein classAbstractRouter- Parameters:
cpm- TheAbstractRouter.ControlPointManipulatorthat can be used to insert points.inDirection- TheVectorfrom the previous point to the current point.outDirection- TheVectorfrom the current point to the next point.- Returns:
- The adjusted
Vectorfrom the current point to the next point.
-
routeNonOrthogonalSegment
protected Vector routeNonOrthogonalSegment(Connection connection, AbstractRouter.ControlPointManipulator controlPointManipulator, Vector inDirection, Vector outDirection, int i, Point currentPoint) This method is called for a non-orthogonal direction from the last point on the connection to the current point on the connection.- Parameters:
connection- TheConnectionthat is manipulated.controlPointManipulator- The helper that is used for inserting route points.inDirection- The previous direction, ornull(for the end point).outDirection- The current direction, ornull(for the start point).i- The index of the current point.currentPoint- The currentPoint.- Returns:
- The manipulated current direction.
-
routeOrthogonalSegment
protected Vector routeOrthogonalSegment(Connection connection, AbstractRouter.ControlPointManipulator controlPointManipulator, Vector currentDirection, int i, Point currentPoint) This method is called for an orthogonal direction from the last point on the connection to the current point on the connection.- Parameters:
connection- TheConnectionthat is manipulated.controlPointManipulator- The helper that is used to insert route points.currentDirection- The current direction.i- The index of the current point.currentPoint- The currentPoint.- Returns:
- The manipulated current direction.
-
updateComputationParameters
protected void updateComputationParameters(List<Point> points, int index, DynamicAnchor anchor, AnchorKey key) Description copied from class:AbstractRouterUpdate's the reference point of the anchor with the given index.- Overrides:
updateComputationParametersin classAbstractRouter- Parameters:
points- TheConnection's points (snapshot taken before parameters are updated, i.e. independent from the parameter changes).index- The index of the connection anchor (and anchor key) for which the computation parameters are updated.anchor- TheDynamicAnchorfor which to update the computation parameters.key- TheAnchorKey, corresponding to the index, for which to update the computation parameters.
-